将一个布局中的元素与另一个布局中的元素垂直对齐,使其处于同一级别?

时间:2017-12-07 08:01:05

标签: android alignment elements

我有水平线性布局,里面有两个垂直线性布局。每个垂直布局包含5个TextView,如下所示:enter image description here

如您所见,第一个布局中的5个文本视图与第二个布局中的5个文本视图处于同一垂直级别。但是,当我将第二个布局的元素更改为EditTexts时,它开始看起来像:

enter image description here

如何将TextViews与其对应的EditTexts对齐,使其处于完全相同的垂直级别?我可以将边距顶部和底部更改为所有TextView。但这是很多工作,之后他们并没有达到完全相同的水平。我正在使用Xamarin.Android。

2 个答案:

答案 0 :(得分:1)

尝试以下代码。我认为它会对您有所帮助。 enter image description here

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:padding="10dp"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="1"
        android:weightSum="10"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:text="TextView1"
            android:layout_weight="2"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />
        <TextView
            android:layout_width="match_parent"
            android:text="TextView1"
            android:layout_weight="2"
            android:layout_gravity="center"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />
        <TextView
            android:layout_width="match_parent"
            android:text="TextView1"
            android:layout_weight="2"
            android:layout_gravity="center"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />
        <TextView
            android:layout_width="match_parent"
            android:text="TextView1"
            android:layout_weight="2"
            android:layout_gravity="center"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />
        <TextView
            android:layout_width="match_parent"
            android:text="TextView1"
            android:layout_weight="2"
            android:layout_gravity="center"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />

    </LinearLayout>
    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="1"
        android:weightSum="10"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <EditText
            android:layout_weight="2"
            android:hint="edittext"
            android:layout_width="match_parent"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />
        <EditText
            android:layout_width="match_parent"
            android:layout_weight="2"
            android:hint="edittext"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />
        <EditText
            android:layout_width="match_parent"
            android:gravity="bottom|center"
            android:layout_weight="2"
            android:hint="edittext"
            android:layout_height="wrap_content" />
        <EditText
            android:layout_width="match_parent"
            android:hint="edittext"
            android:gravity="bottom|center"
            android:layout_weight="2"
            android:layout_height="wrap_content" />
        <EditText
            android:layout_width="match_parent"
            android:hint="edittext"
            android:layout_weight="2"
            android:gravity="bottom|center"
            android:layout_height="wrap_content" />

    </LinearLayout>
</LinearLayout>

答案 1 :(得分:1)

您可以通过TableLayout轻松完成,它将以均匀的高度和宽度拉伸

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*">
<TableRow>
    <TextView
        android:padding="16dp"
        android:text="Text 1"
        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    <EditText android:hint="Edit text 1" />
</TableRow>
<TableRow>
    <TextView
        android:padding="16dp"
        android:text="Text 2"
        android:textAppearance="@style/TextAppearance.AppCompat.Title" />

    <EditText android:hint="Edit text 2" />
</TableRow>
<TableRow>
    <TextView
        android:padding="16dp"
        android:text="Text 3"
        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    <EditText android:hint="Edit text 3" />
</TableRow>
<TableRow>
    <TextView
        android:padding="16dp"
        android:text="Text 4"
        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    <EditText android:hint="Edit text 4" />
</TableRow>
<TableRow>
    <TextView
        android:padding="16dp"
        android:text="Text 5"
        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    <EditText android:hint="Edit text 5" />
</TableRow>