您可以将 锚定TextView
到顶部和底部ListView
(也可以选择左右,具体取决于所需的效果)。这将使TextView
文本同样高(并且可以选择宽),因此使用中心重心将文本定位在中间。
<?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="match_parent" >
<ListView
android:id="@+id/lvHaltestellen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/tvHaltestellen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/lvHaltestellen"
android:layout_alignBottom="@+id/lvHaltestellen"
android:layout_alignLeft="@+id/lvHaltestellen"
android:layout_alignRight="@+id/lvHaltestellen"
android:gravity="center" />
</RelativeLayout>
如果您打算为 添加背景颜色,则TextView
需要将其包装在另一个透明容器(例如 a FrameLayout
)中,以避免颜色遮挡列表中显示的内容。就像是:
<?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="match_parent" >
<ListView
android:id="@+id/lvHaltestellen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/lvHaltestellen"
android:layout_alignLeft="@+id/lvHaltestellen"
android:layout_alignRight="@+id/lvHaltestellen"
android:layout_alignTop="@+id/lvHaltestellen" >
<TextView
android:id="@+id/tvHaltestellen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/black" />
</FrameLayout>
</RelativeLayout>
或者,如果您决定ListView
填充 的整个高度,RelativeLayout
则不再需要将 锚定TextView
到列表中。正如@user1796624 已经指出的那样,您可以将TextView
.
根据您之前对其他人答案的评论:
文本视图显示在列表视图中。
我明白你在这里想说什么,但请注意,TextView
它并不位于 内部ListView
,而是漂浮在它之上。