更多精彩内容,请点击阅读:《API Demos 2.3 学习笔记》
1、如下所示,由于TextView控件太多,导致一屏无法全部显示。首先,在布局文件中用 LinearLayout把这些TextView控件包起来,然后再用ScrollView把LinearLayout包起来。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout 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/scrollbar_1_text"/> ...中间还有若干个TextView控件 <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> </LinearLayout> </ScrollView>
常量 |
取值 |
描述 |
---|---|---|
|
0x00000000 |
不显示滚动条 |
|
0x00000100 |
只显示横向滚动条 |
|
0x00000200 |
只显示竖直滚动条 |
常量 |
取值 |
描述 |
---|---|---|
|
0x0 |
Insidethe padding and overlaid |
|
0x01000000 |
Insidethe padding and inset |
|
0x02000000 |
Edgeof the view and overlaid |
|
0x03000000 |
Edgeof the view and inset |
<?xml version="1.0" encoding="utf-8"?> <!-- 演示如何使用 ScrollView 控件 --> <!-- 这是ScrollView的一个简单例子。ScrollView控件内置一个包含若干个TextView控件的LinearLayout布局控件。 --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout 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/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_1_text"/> </LinearLayout> </ScrollView>
package com.example.android.apis.view; import com.example.android.apis.R; import android.app.Activity; import android.os.Bundle; public class ScrollBar1 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scrollbar1); } }
<?xml version="1.0" encoding="utf-8"?> <!-- 演示如何使用 ScrollView 控件 --> <!-- 这是ScrollView的一个简单例子。ScrollView控件内置一个包含若干个TextView控件的LinearLayout布局控件。 --> <!-- android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track" 设置竖直滚动条背景的drawable--> <!-- android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb" 设置竖直滚动条的drawable--> <!-- android:scrollbarSize="12dip" 设置竖直滚动条的宽度或者横向滚动条的高度。--> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track" android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb" android:scrollbarSize="12dip"> <LinearLayout 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/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text"/> </LinearLayout> </ScrollView>
package com.example.android.apis.view; import com.example.android.apis.R; import android.app.Activity; import android.os.Bundle; public class ScrollBar2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scrollbar2); } }
<?xml version="1.0" encoding="utf-8"?> <!-- 演示如何使用 ScrollView 控件 --> <!-- 这里演示了5个 ScrollView控件,并分别自定义了它们的属性 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <!-- ScrollView 控件1 --> <!-- android:background="#FF0000" 设置滚动条背景颜色为 #FF0000 --> <ScrollView android:layout_width="100dip" android:layout_height="120dip" android:background="#FF0000"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> </LinearLayout> </ScrollView> <!-- ScrollView 控件2 --> <!-- android:background="##00FF00" 设置滚动条背景颜色为 ##00FF00 --> <!-- android:paddingRight="12dip" 设置ScrollView内部的控件距离ScrollView右边界 12dip --> <ScrollView android:layout_width="100dip" android:layout_height="120dip" android:background="#00FF00" android:paddingRight="12dip"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_3_text" android:textColor="#000000" android:background="#60AA60" /> </ScrollView> <!-- ScrollView 控件3 --> <!-- android:background="@android:drawable/edit_text" 设置滚动条背景颜色为 android内置的背景颜色 @android:drawable/edit_text --> <ScrollView android:id="@+id/view3" android:layout_width="100dip" android:layout_height="120dip" android:background="@android:drawable/edit_text"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#000000" android:text="@string/scrollbar_3_text" /> </ScrollView> </LinearLayout> <!-- ScrollView 控件4 --> <!-- android:background="@android:drawable/edit_text" 设置滚动条背景颜色为 android内置的背景颜色 @android:drawable/edit_text --> <!-- android:scrollbarStyle="outsideOverlay" 设置ScrollView滚动条类型为 outsideOverlay--> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ScrollView android:id="@+id/view4" android:layout_width="100dip" android:layout_height="120dip" android:scrollbarStyle="outsideOverlay" android:background="@android:drawable/edit_text"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#000000" android:text="@string/scrollbar_3_text" /> </ScrollView> <!-- ScrollView 控件5 --> <!-- android:background="@android:drawable/edit_text" 设置滚动条背景颜色为 android内置的背景颜色 @android:drawable/edit_text --> <!-- android:scrollbarStyle="outsideInset" 设置ScrollView滚动条类型为 outsideInset--> <ScrollView android:id="@+id/view5" android:layout_width="100dip" android:layout_height="120dip" android:scrollbarStyle="outsideInset" android:background="@android:drawable/edit_text"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#000000" android:text="@string/scrollbar_3_text" /> </ScrollView> </LinearLayout> </LinearLayout>
package com.example.android.apis.view; import android.app.Activity; import android.os.Bundle; import android.view.View; import com.example.android.apis.R; public class ScrollBar3 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scrollbar3); // 通过findViewById方法获得一个id为view3的ScrollView控件,并设置滚动条类型为 View.SCROLLBARS_INSIDE_INSET findViewById(R.id.view3).setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET); } }
预览效果: