ScrollView在android中能够实现滚动视图,手机屏幕大小有限,当显示的内容较多时,滚动视图就派上用场了。java
该实例主要是经过布局文件生成视图,只是演示ScrollView的使用,没有考虑总体美观效果。整体来看,采用垂直布局,在垂直布局的第一行加入一个TextView组件;第二行是一个ScrollView,内部加入垂直布局;第三行再加入一个TextView组件。android
在布局文件中使用ScrollView,通常是在ScrollView节点中加入布局方式,以下所示,ScrollView也能够做为根节点。app
<ScrollView ... >ide
<LinearLayout ...>
布局
...
测试
</ LinearLayout>
code
</ ScrollView>xml
首先是布局文件:utf-8
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="main.test_scrollview.MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="100sp" android:background="#ff0000ff" android:textColor="#ffffffff" android:text="@string/tv1" android:gravity="center"/> <ScrollView android:id="@+id/scrollView" android:layout_width="wrap_content" android:layout_height="200dp"> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar2" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <View android:id="@+id/view1" android:layout_width="wrap_content" android:layout_height="100sp" android:background="#ff0" /> <ProgressBar android:id="@+id/progressBar3" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar4" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <View android:id="@+id/view2" android:layout_width="wrap_content" android:layout_height="100sp" android:background="#f00" /> <!-- 自定义了一个View组件显示 --> <ProgressBar android:id="@+id/progressBar5" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar6" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </ScrollView> <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="100sp" android:background="#ff0000ff" android:gravity="center" android:textColor="#ffffffff" android:text="@string/tv2" /> </LinearLayout>
其次是strings.xml文件:string
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Test_ScrollView</string> <string name="tv1">上边界</string> <string name="action_settings">Settings</string> <string name="tv2">下边界</string> </resources>
再次是android源代码文件(只是引用了布局文件,其余没有任何改动):
package main.test_scrollview; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
最后是测试结果: