我有水平线性布局,里面有两个垂直线性布局。每个垂直布局包含5个TextView,如下所示:
如您所见,第一个布局中的5个文本视图与第二个布局中的5个文本视图处于同一垂直级别。但是,当我将第二个布局的元素更改为EditTexts时,它开始看起来像:
如何将TextViews与其对应的EditTexts对齐,使其处于完全相同的垂直级别?我可以将边距顶部和底部更改为所有TextView。但这是很多工作,之后他们并没有达到完全相同的水平。我正在使用Xamarin.Android。
答案 0 :(得分:1)
<?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>