如何在约束布局内应用左右约束时将布局向左对齐?

时间:2021-01-25 09:44:03

标签: android android-layout android-linearlayout android-constraintlayout

这是我要设计的布局:

enter image description here

正如您从图像中看到的,我希望将线性布局限制为项目 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 赋予此布局子布局。我不想那样做。有没有办法在不创建任何额外布局的情况下实现这一目标?

1 个答案:

答案 0 :(得分:2)

offical docs中所述,

<块引用>

遇到这种相反约束时的默认设置是将小部件居中;但是您可以使用偏差属性调整定位以偏向于一侧:

  • layout_constraintHorizo​​ntal_bias
  • layout_constraintVertical_bias

尝试以下方法,看看是否有效

<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