约束不以工具栏为中心
Constraints not centered with toolbar
是否可以避免在 ConstraintLayout 中继承视图测量值?
我的意思是我有一个 Activity 显示工具栏和一个框架容器来显示片段。此片段垂直和水平居中,但在添加工具栏时,所有内容都会向下移动。
所以..有什么办法可以实现吗?
这取决于父容器。您可以使用
- 约束布局
- 相对布局
- 运动布局
或其他相关类型布局,但您不能使用 LinearLayout,因为那样不允许您将子项移动到 LinearLayout 的其他部分。
接下来是父级 Activity 如果您打算允许自己在父级边界之外构建约束,则需要确保没有将 FrameLayout 放在工具栏下方。您的父级是 FrameLayout,因此如果它已经被向下推到工具栏下方,您将无法绑定到它的父级,除非您的绑定获得 parent.parent。
所以你有几个选择。
- 确保您的 Activity 不会将 FrameLayout 推到工具栏下方,以便 FrameLayout 始终与父级匹配而不受工具栏的影响(小心,因为您必须确保其他布局不会不要与 UI 中的工具栏区域重叠,因为它看起来很糟糕。
- 您可以在需要向上浮动的 UI 上使用负边距,这不是好的做法,我不推荐这样做。
- 您可以为 parent.parent 构建一个约束,因为这样您的约束就会绑定到框架布局父级而不是框架布局本身。
如果您需要更多帮助,请分享您的 XML 以便我帮助指出您可以进行调整的地方。
编码愉快!
是否可以避免在 ConstraintLayout 中继承视图测量值? 我的意思是我有一个 Activity 显示工具栏和一个框架容器来显示片段。此片段垂直和水平居中,但在添加工具栏时,所有内容都会向下移动。
所以..有什么办法可以实现吗?
这取决于父容器。您可以使用
- 约束布局
- 相对布局
- 运动布局
或其他相关类型布局,但您不能使用 LinearLayout,因为那样不允许您将子项移动到 LinearLayout 的其他部分。
接下来是父级 Activity 如果您打算允许自己在父级边界之外构建约束,则需要确保没有将 FrameLayout 放在工具栏下方。您的父级是 FrameLayout,因此如果它已经被向下推到工具栏下方,您将无法绑定到它的父级,除非您的绑定获得 parent.parent。
所以你有几个选择。
- 确保您的 Activity 不会将 FrameLayout 推到工具栏下方,以便 FrameLayout 始终与父级匹配而不受工具栏的影响(小心,因为您必须确保其他布局不会不要与 UI 中的工具栏区域重叠,因为它看起来很糟糕。
- 您可以在需要向上浮动的 UI 上使用负边距,这不是好的做法,我不推荐这样做。
- 您可以为 parent.parent 构建一个约束,因为这样您的约束就会绑定到框架布局父级而不是框架布局本身。
如果您需要更多帮助,请分享您的 XML 以便我帮助指出您可以进行调整的地方。
编码愉快!