无法设置约束偏差

时间:2018-02-14 19:13:49

标签: android android-studio android-constraintlayout

我想设置app:layout_constraintHorizontal_bias="0.0",以便我的TextView保持向左。当我通过将小圆圈拖动到0来从布局编辑器设置它时,圆圈移回到默认值50.还尝试从xml执行此操作,但布局对偏置属性完全没有影响。 如果我删除了正确的约束,由于wrap_content宽度,文本会脱离屏幕。添加右约束(以及现有的左约束)需要我设置水平偏差以实现永久左对齐

This answer建议将约束添加到" parent" (而不是另一个视图,我猜),我尝试了它并将左右约束设置为父级,但仍然没有运气。 (左边是图像视图的约束)

我尝试将其与另一个视图对齐(通过选择notification_subject和notification_body并使用"对齐左边和#34;),布局仍然没有变化

这是我的TextView

<TextView
            android:id="@+id/notification_subject_tv"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/notification_subject"
            android:textAppearance="@style/TitleTextAppearance"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintLeft_toRightOf="@id/notification_item_iv"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginRight="16dp"
            android:layout_marginLeft="16dp"
            app:layout_constraintHorizontal_bias="0.0"/>

在编辑器中渲染布局: enter image description here

1 个答案:

答案 0 :(得分:0)

我认为你有两个问题:

  1. 您正尝试使用layout_width="0dp"来匹配约束。我相信这应该设置为layout_width="wrap_content"
  2. 在约束的一侧,您使用layout_constraintEnd_toEndOf="parent",然后在另一侧使用layout_constraintLeft_toRightOf="@id/notification_item_iv"。请将此更改为layout_constraintStart_toEndOf="@id/notification_item_iv"
  3. 完整代码:

    <TextView
            android:id="@+id/notification_subject_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/notification_subject"
            android:textAppearance="@style/TitleTextAppearance"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/notification_item_iv"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginRight="16dp"
            android:layout_marginLeft="16dp"
            app:layout_constraintHorizontal_bias="0.0"/>