我想使用ListView创建一个类似聊天的视图,其中新消息出现在屏幕的底部(因此我使用android:stackFromBottom =“true”)并且我想向ListView添加一个标题,它将出现在屏幕的顶部。当消息很少时,标题和消息之间会有一个空格,当有大量消息时,ListView将可滚动并且标题将被隐藏,当底部消息可见时(标题将随之滚动)其余的消息)。 问题是我无法告诉ListView让它的标题或项目填满屏幕上的剩余空间。 android:layout_height =“fill_parent”没有帮助。我可以使用RelativeLayout使标头静态,但我不想。有什么想法吗?
答案 0 :(得分:0)
为什么不直接将列表视图放在包含3行的表格布局中。将listview放在中间行,然后使用顶行和底行作为页眉和页脚。
答案 1 :(得分:0)
在垂直方向使用LinearLayout,标题位于顶部,ListView位于中间,layout_weight =“1”,然后是页脚。
一种解决方案,如果您希望Header可滚动。 是将适配器中的位置1膨胀为要滚动的标题。
答案 2 :(得分:0)
只需制作不同的布局,例如header_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="@drawable/listitem_background"
android:layout_marginLeft="4dip" android:layout_marginRight="4dip"
android:gravity="center_vertical|center_horizontal"
>
<TextView android:id="@+id/nearByLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Load More Results"
android:textColor="#000"
android:textStyle="bold"
android:textSize="20sp"
/>
</LinearLayout>
在您的活动中添加
View headerView = inflater.inflate(R.layout.header_list, null);
yourlistView.addHeaderView(headerView);