约束布局 - 动态对齐视图

时间:2021-02-26 04:09:05

标签: android android-layout user-interface android-constraintlayout

我有 4 个文本视图在约束布局中水平对齐。现在,我需要将第三个或第四个视图推到下一行,并将左侧的视图对齐为第一和第二个视图。我怎样才能做到这一点?

enter image description here

2 个答案:

答案 0 :(得分:0)

试试这个方法


    <Textview
     android:id="@+id/text1"
    ....
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    />
    
    <Textview
     android:id="@+id/text2"
    ....
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toEndOf="@id/text1"
    app:layout_constraintEnd_toEndOf="parent"
    />
    
    <Textview
     android:id="@+id/text3"
    ....
    app:layout_constraintTop_toBottomOf="@id/text1"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    />
    
    <Textview
     android:id="@+id/text4"
    ....
    app:layout_constraintTop_toBottomOf="@id/text2"
    app:layout_constraintStart_toEndOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    />

答案 1 :(得分:0)

您可以使用相对布局轻松做到这一点

std::auto_ptr

但是如果你想使用ConstraintLayout,它应该可以工作

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="70dp">

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text 1"
        android:textSize="40sp" />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/text1"
        android:text="Text 2"
        android:textSize="40sp" />

    <TextView
        android:id="@+id/text3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/text1"
        android:text="Text 3"
        android:textSize="40sp" />

    <TextView
        android:id="@+id/text4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/text1"
        android:layout_toRightOf="@id/text3"
        android:text="Text 4"
        android:textSize="40sp" />

</RelativeLayout>