约束不以工具栏为中心

问题描述 投票:0回答:1

避免在ConstraintLayout中继承视图测量是否可行?我的意思是我有一个Activity显示一个工具栏和一个Frame容器来显示Fragments。这个片段是垂直和水平居中的,但是当添加工具栏时,一切都向下移

那么......有没有办法实现这个目标?

android toolbar android-constraintlayout
1个回答
1
投票

它取决于父Container。您可以使用

  • ConstraintLayout
  • 的RelativeLayout
  • MotionLayout

或其他相对类型布局,但您不能使用LinearLayout,因为这将不允许您将子项移动到LinearLayout的其他部分。

对于父活动,您需要确保不要将FrameLayout放在工具栏下面,如果您打算允许自己在父边界之外构建约束。你的父亲是FrameLayout,所以如果它已经被推到工具栏下面,你就无法绑定到它的父节点,除非你获得了绑定的parent.parent。

所以你有几个选择。

  1. 确保您的Activity不会将FrameLayout推到工具栏下方,以便FrameLayout在不受工具栏影响的情况下始终匹配父项(请注意,您必须确保其他布局不会与UI中的工具栏区域重叠)它看起来很糟糕。
  2. 您可以在需要浮动的UI上使用负边距,这不是好的做法,我不推荐它。
  3. 您可以为parent.parent构建约束,因为那时您的约束绑定到framelayouts父级而不是framelayout本身。

如果您需要更多帮助,请分享您的XML,以便我可以帮助您指出可以进行调整的位置。

快乐的编码!

© www.soinside.com 2019 - 2024. All rights reserved.