之前在项目中做过列表滚动的功能,但那个是在整个布局文件的最外面放一个ScrollView,实际的效果是整个界面滚动,包括表头等其他元素一起滚动。
今天要进行细化,也就是仅仅让列表滚动,其他元素(表头等)不动,,也就是类似于Excel的冻结窗格功能。一开始,在ListView的外面再加了一个ScrollView,不起作用。
那怎样才能实现列表滚动而其他元素不动的效果呢?答案是ScrollView 内嵌 LinearLayout, LinearLayout内嵌ListView。
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
android:fadingEdge="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:scrollbars="vertical">
<ListView
android:id="@+id/samplelist"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:dividerHeight="1px"
android:divider="#B8B8B8" >
</ListView>
</LinearLayout>
</ScrollView>
中间必须放一个LinearLayout,否则没有效果。