Android默认情况下不支持ListView上的节标题。根据我的研究,我了解到有两种方法可以在ListView上实现节头。第一个是在列表视图中支持两种类型的视图:分隔符视图和内容视图。第二个是在所有内容视图中包含分隔符视图,只需将分隔符视图的可见性设置为VISIBLE或GONE。我正在使用第二种方法。
但是,当我向上滚动ListView时,节标题也会向上滚动。我知道这很正常。但是,只要仍然显示属于其部分的某些数据,我希望节标题保持在顶部。我想要完成的行为类似于iOS中UITableView的节头的行为。我怎么能做到这一点?
另外,我想请注意,我已经读过一个解决方案,就是在ListView上面创建一个视图,并根据需要进行更改。但是,这不适用于所有手机。例如,三星手机上的ListView正在弹跳。如果我在ListView上方放置一个视图作为标题并且ListView反弹,那么虚拟标题视图将不会与ListView一起反弹。此外,可以轻松地发现默认ListView的顶部,因为它在滚动ListView时会发光。无论如何都要完成上述效果,同时确保它看起来仍然自然吗?
下图显示了如果我只是在列表视图上添加文本视图,我将遇到的问题:(取自三星Galaxy S2)
答案 0 :(得分:0)
在这个xml +符号中看到静态你会得到一些帮助
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/linearlayout">
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#00ffff">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/plus" />
</LinearLayout>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</ScrollView>