我想在我的 ListActivity 的列表视图上方添加一个标题栏。滚动列表视图时,标题栏不应滚动,因此我没有使用 addHeaderView() 而是在 XML 中定义的自定义视图。它看起来像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<LinearLayout
android:id="@+id/top_control_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/left_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Some text" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_below="@id/top_control_bar"
android:drawSelectorOnTop="false" />
</RelativeLayout>
如您所见,标题栏包含一个文本视图和一个图像视图。我现在的问题是:我希望这个标题栏使用与列表视图中的单行完全相同的大小(标题栏高度和字体大小)。我不想硬编码任何尺寸信息。相反,标题栏应该总是和我的列表视图中的单行一样大,Android 还应该从我的标题栏中的不同大小的 ic_launcher 集合中为我的标题栏中的图像视图选择一个适当大小的可绘制的“ic_launcher”。 *.apk 但我认为这是自动完成的。我只需要找到一种方法来告诉标题栏始终与列表视图中的单行一样大,并且标题栏文本视图的字体大小也应该与列表视图行的字体大小相匹配。
谁能告诉我如何实现这一目标?非常感谢!