这是我要设计的布局:
正如您从图像中看到的,我希望将线性布局限制为项目 A 和项目 B,并且我希望它向左对齐。我找不到在约束布局中实现它的任何方法。当我使用它时:
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="wrap_content"
android:layout_height="@dimen/ui_size_xs">
线性布局移动到中间。 当我使用它时:
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="0dp"
android:layout_height="@dimen/ui_size_xs">
线性布局占据了项目 A 和 B 之间的整个区域。
我希望线性布局为 wrap-content
,但也应该像图像中那样向左对齐。我能找到的唯一解决方案是创建一个新布局作为此线性布局的父布局,并将 0dp
赋予新的父线性布局,将 wrap-conent
赋予此布局子布局。我不想那样做。有没有办法在不创建任何额外布局的情况下实现这一目标?
答案 0 :(得分:2)
如offical docs中所述,
<块引用>遇到这种相反约束时的默认设置是将小部件居中;但是您可以使用偏差属性调整定位以偏向于一侧:
尝试以下方法,看看是否有效
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="wrap_content"
android:layout_height="@dimen/ui_size_xs"
app:layout_constraintHorizontal_bias="0.3"
app:layout_constraintLeft_toRightOf="item1id"
app:layout_constraintRight_toLeft="item2id">
// try different horizontal bias values to meet your need