代码之家  ›  专栏  ›  技术社区  ›  Barry Fruitman

如何将一对视图居中放置在ConstraintLayout中?

  •  5
  • Barry Fruitman  · 技术社区  · 6 年前

    我该如何将一对 Views ConstraintLayout 如下所示, 无嵌套 是吗?它们需要相互接触,并作为一个整体居中。

    enter image description here

    我试着把它们固定在彼此和父母身上,但它们并没有相互接触,所以我给它们增加了一个水平偏倚,但没有帮助。

    提前谢谢…

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="14dp"
        android:layout_height="14dp"
        android:scaleType="fitXY"        
        android:src="@drawable/checkmark"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@id/textView"/>
    
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/some_text"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toRightOf="@id/imageView"
        app:layout_constraintRight_toRightOf="parent"/>
    
    1 回复  |  直到 6 年前
        1
  •  6
  •   Pawel Laskowski    6 年前

    您需要为链头设置chainstyle属性,这是第一个 View 在水平链的左边。将产生预期结果的样式是 packed . 在这种情况下不需要偏见。

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="14dp"
        android:layout_height="14dp"
        android:scaleType="fitXY"
        android:src="@drawable/checkmark"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@id/textView"/>
    
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/some_text"
        app:layout_constraintLeft_toRightOf="@id/imageView"
        app:layout_constraintRight_toRightOf="parent"/>