我想制作一个干净整洁的形式:
Name: ____________
Foo: ____________
Bar: ____________
Whatever: ____________
每一行均匀分享屏幕高度(在本例中为全屏的25%),每个TextView应位于屏幕的左半部分,EditText应从屏幕中心开始。
我目前的解决方案是(基本上):
<LinearLayout android:orientation="vertical">
<LinearLayout android:orientation="horizontal" weight="1">
<TextView weight="1">
<EditView weight="1">
</LinearLayout>
<LinearLayout android:orientation="horizontal" weight="1">
<TextView weight="1">
<EditView weight="1">
</LinearLayout>
<LinearLayout android:orientation="horizontal" weight="1">
<TextView weight="1">
<EditView weight="1">
</LinearLayout>
<LinearLayout android:orientation="horizontal" weight="1">
<TextView weight="1">
<EditView weight="1">
</LinearLayout>
</LinearLayout>
这很好但是会创建嵌套权重,这对于表演来说很糟糕。在API级别8中有更好的方法吗?
答案 0 :(得分:1)
您可以使用GridLayout,它易于使用,它会使您的视图变平(通过删除所有不必要的LinearLayout)
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="2"
android:rowCount="4">
<TextView
android:layout_column="0"
android:layout_row="0"/>
<EditView
android:layout_column="1"
android:layout_row="0"/>
....
</GridLayout>
有关详细信息,请查看Android dev doc
答案 1 :(得分:0)
如果您愿意,可以右对齐EditText
并左对齐TextView
,以便在布局中获得对齐的组件。然后你可以从右到左输入文本。如果您想要使用嵌套权重,这是一种可能的方法。它可能不会得到你要问的那种风格。
在字段上进一步使用minWidth
来填充Dialog
可以提供一个有点干净的结构。只是猜测你想要从帖子和你的整体概念中完成什么。