约束布局:根据这三个文本视图的最大高度对齐三个文本视图下方的视图

时间:2017-12-16 07:31:10

标签: android android-layout

Alignment issu

想要将文本视图下方的视图对齐取决于高度。与情况1一样,textview3的高度大于1,2,因此视图低于2.对于2和3也是如此。

1 个答案:

答案 0 :(得分:2)

你可以使用约束布局beta

来做到这一点
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta3'

并添加水平屏障。

  <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/constraint_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="16dp"
    android:layout_marginTop="32dp"
    android:text="Hello World \n Constraint Layout Demo \n ABCD"
    app:layout_constraintEnd_toStartOf="@+id/textView2"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintHorizontal_chainStyle="spread_inside"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="32dp"
    android:text="Hello World "
    app:layout_constraintEnd_toStartOf="@+id/textView3"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toEndOf="@+id/textView"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginTop="32dp"
    android:text="Hello World "
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toEndOf="@+id/textView2"
    app:layout_constraintTop_toTopOf="parent" />

<android.support.constraint.Barrier
    android:id="@+id/barrier_bottom"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:barrierDirection="bottom"
    app:constraint_referenced_ids="textView2,textView3,textView" />

<View
    android:background="@color/colorPrimary"
    android:id="@+id/textView5"
    android:layout_width="match_parent"
    android:layout_height="5dp"
    android:layout_marginTop="5dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/barrier_bottom" />


</android.support.constraint.ConstraintLayout>

根据文本视图高度,屏障位于底部,您可以确保您的视图(水平线)位于屏障下方

屏幕截图

enter image description here