ScrollView容器组件可以对其中包含的子组件进行竖向的滚动显示(开发者可以选择是否显示滚动条)。ScrollView容器组件居右FrameLayout属性,因此它只能包含一个子组件,该组件通常为一个LinearLayout(线性)布局,这样布局中的子组件就可以按照顺序进行排列。
注意区分ScrollView容器组件和ListView容器组件的区别:
相同点:
这两种容器组件都可以通过竖向滚动的方式显示容器中的内容。
不同点:
ListView容器组件是用来显示一组相同类型的数据。
ScrollView组件可以直接让其子组件进行滚动显示。
Android文档中特别提醒开发者,不要将一个ListView容器组件作为ScrollView容器组件的子组件,以为这样会破坏系统对ListView容器组件的性能优化。
下面的XML布局定义演示了如何在XML布局文件中定义一个ScrollView容器组件。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/scroll_view_2_text_1"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/scroll_view_2_button_1"/>
</LinearLayout>
</ScrollView>