【问题标题】:How to align a layout to left while both left and right constraints are applied to it inside Constraint Layout?如何在约束布局内同时应用左右约束时将布局左对齐?
【发布时间】:2021-04-29 02:40:10
【问题描述】:

这是我要设计的布局:

从图片中可以看出,我希望将线性布局限制为项目 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 分配给此布局子布局。我不想那样做。有什么方法可以在不创建任何额外布局的情况下实现这一点?

【问题讨论】:

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


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多