垂直对齐一个布局中的元素与另一个布局中的元素处于同一水平?

Vertically align elements in one layout with elements in another to be at same level?

我有水平线性布局,其中有两个垂直线性布局。每个垂直布局包含 5 个 TextView,如下所示:

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

我该怎么做才能使 TextView 与其对应的 EditText 处于完全相同的垂直水平?我可以更改所有 TextView 的顶部和底部边距。但这是很多工作,之后他们就不在完全相同的水平上了。我正在使用 Xamarin.Android.

尝试以下 code.I 认为它会对您有所帮助。

<?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>

您可以通过 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>