【发布时间】:2016-06-27 21:22:17
【问题描述】:
我在 Android 中需要一个类似表格的视图,我可以用自定义的名称-值行来填充它。一行由两个水平放置的文本视图组成,其中包含名称和值。每行应具有以下属性:
- 左侧文本视图与父左对齐,右侧文本视图与父右对齐。
- 正确的文本永远不会超过 7 em,但可以更小。
- 左边的文本应该填满行中的剩余空间。
- 显然,两个文本视图不应重叠。
目前我正在尝试使用 LinearLayout 作为容器和两个 TextView 包装在 RelativeLayout 中来解决这个问题,但是这里有些地方明显不合适(下划线的位明显超过 7 ems):
我的 XML:
行布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="4dp"
android:paddingTop="4dp">
<TextView
android:id="@+id/tb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:ellipsize="end"
android:maxEms="7"
android:maxLines="2" />
<TextView
android:id="@+id/tb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:ellipsize="end"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/tb2"
android:layout_toStartOf="@id/tb2" />
</RelativeLayout>
以编程方式添加行的容器布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:padding="16dp"/>
我将此布局用作对话框的一部分。不确定它是否会增加问题。
有什么想法/解决方案吗?
【问题讨论】:
标签: android android-layout textview