10.2.1. 简介ScrollView
10.2.1.简介ScrollView
不过数据一多,我们就不能保证所有的消息正好排满一页了,这时应使用'ScrollView'使之可以滚动。ScrollView与Window相似,不过它可以在必要时提供一个滚动条,从而允许在里面存放超过一屏的内容。对付可能会变大的View,用ScrollView把它包起来就行。比如这里我们靠TextView输出所有朋友的消息,消息一多,它也跟着变大。在较小的屏幕中显示不开,就把它放在ScrollView里使之可以滚动。
ScrollView中只能存放单独一个子元素。要让多个View一起滚动,就需要像前面StatusActivity Layout一节所做的那样,先把它们放在另一个Layout里,随后把整个Layout添加到ScrollView里。
通常你会希望ScrollView能够填满屏幕的所有可用空间。把它的高度与宽度都设置为fill_parent即可。
一般很少通过Java代码控制ScrollView,因此它不需要id。
在这个例子中,我们使用ScrollView将TextView包了起来。以后TextView中的内容变多体积变大,ScrollView就会自动为它加上滚动条。
例 10.1. res/layout/timeline_basic.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:background="@drawable/background">
<!-- Title -->
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="center"
android:layout_margin="10dp" android:text="@string/titleTimeline"
android:textColor="#fff" android:textSize="30sp" />
<!-- Text output wrapper -->
<ScrollView android:layout_height="fill_parent"
android:layout_width="fill_parent">
<!-- Text output -->
<TextView android:layout_height="fill_parent"
android:layout_width="fill_parent" android:id="@+id/textTimeline"
android:background="#6000" />
</ScrollView>
</LinearLayout>
- 在Activity屏幕顶部显示的标题。留意字符串titleTimeline的定义在/res/values/strings.xml文件中,具体参见第六章的字符串资源一节。
- ScrollView包含TextView,在需要时添加滚动条。
- TextView用以显示文本,在这里就是从数据库中读取的用户消息。