我正在尝试创建一个垂直的TextView -> EditTextView列表。我需要这个来创建一个小的输入表单。我尝试使用 2 个垂直线性布局,它们是水平线性布局的子级。然后,我将 TextViews 添加到第一个容器,将 EditableTextViews 添加到第二个容器。问题是文本视图的高度与 EditTextView 的高度无关,因此它们无法正确垂直对齐。实现这一目标的最佳方法是什么?使用表格?我很好奇人们如何有效地实现这一目标。
如果我理解你,你可以 使用列表视图,该视图包含左侧的文本视图和右侧的编辑文本
行.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/ListItem1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="1" />
<EditText
android:id="@+id/edittext1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="right"
android:selectAllOnFocus="true"
android:textSize="15dp"
android:layout_weight="1" />
</LinearLayout>
可以使用具有如下行布局的列表视图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/ListItem1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="1" />
<EditText
android:id="@+id/edittext1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="right"
android:selectAllOnFocus="true"
android:textSize="15dp"
android:layout_weight="1" />
</LinearLayout>
这将在左侧创建一个文本视图,在右侧创建一个编辑文本,每个视图将占用可用空间的一半。 (调整粗细数字以提供一个比另一个多的空间)。
的话,使用重力来对齐中心......
您可以使用垂直线性布局作为父布局,并向其添加许多水平线性布局,每个布局都包含 TextView 和 EditableTextView