一、概念
ScrollView是一种特殊的布局控件,当ScrollView的内容大于它本身的大小时,ScrollView会自动添加滚动条,并可以竖直滑动。
二、使用方法
● ScrollView的直接子View只能有一个,也就是说如果要使用很复杂的视图结构,就必须把这些视图放在一个标准布局里,如LinearLayout、RelativeLayout等。
● 可以使用layout_width和layout_height给ScrollView指定大小。
● ScrollView只用来处理需要滚动的不规则视图的组合,大批量的列表数据展示可以使用ListView、GridView或者RecyclerView。
● ScrollView和ListView之类的嵌套使用时会有滑动冲突,不到不得已不要使用。
● ScrollView只支持竖直滑动,水平滑动使用HorizontalScrollView。
● ScrollView的android:fillViewport属性定义了是否可以拉伸其内容来填满viewport,可以调用方法setFillViewport(boolean)来达到一样的效果。
三、例子
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context="demo.scrollviewdemo.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:src="@drawable/nba" />
<Button
android:id="@+id/knowMoreButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/know_more" />
<TextView
android:id="@+id/titleTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/title"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/contentTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/content"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
</ScrollView>