首页 > 代码库 > Android视图之滚动视图

Android视图之滚动视图

滚动视图(ScrollView)是当需要显示的信息一个屏幕显示不下时使用的控件。

1.ScrollView概述

ScrollView由FrameLayout派生,同样位于android.widget包下。ScrollView类实际上是一个帧布局,一般情况下,其中的控件是按照线性进行布局的,用户可以对其进行滚动,以达到在屏幕中显示更多信息的目的。

默认情况下,ScrollView只是为其他组件添加垂直滚动条,如果应用需要添加水平滚动条,,则可借助于另一个滚动条视图来实现。ScrollView与HorizontalScrollView的基本功能本相似,只是前者添加垂直滚动条,后者添加水平滚动条。

ScrollView的使用与普通布局的使用没有太大区别,可以在XML文件中进行配置,也可以通过java代码进行设置。在ScrollView中可以添加任意满足条件的控件,当一个屏幕显示不下其中所包含的所有控件或信息时,便会自动添加滚动功能。

注意:ScrollView中同一时刻只能包含一个View。

2.在XML中配置Scrollview控件

下面给大家举个例子来演示在XML文件中配置Scrollview控件。

利用Scrollview类完成图片的垂直滚动。其实现的步骤为:

(1)在Eclipse中创建一个Android应用项目,命名为li_ScrollViewXML.

(2)打开res/layout目录下的main.xml文件,在文件中布局图像的垂直滚动,其代码为:


<?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="match_parent"
    android:scrollbars="vertical"
    android:background="#000000">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="http://www.mamicode.com/@drawable/study"
            android:layout_gravity="center_horizontal"/>

    </LinearLayout>
</ScrollView>

3.在java文件中配置Scrollview控件


Scrollview卷轴视图是指当拥有很多内容,一屏显示不完时,需要通过滚动条来显示视图的使用。下面通过一个案例来演示在java文件中配置Scrollview控件。

【例】实现在java代码中配置Scrollview控件。其具体步骤为:

(1)在Eclipse中创建一个Android项目,命名为li_ScrollViewJava.

(2)打开res/layout目录下的main.xml布局文件,在文件中生命一个Scrollview控件及一个Textview控件,其代码为:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android = "http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000">
    <!--ScrollView为滚动条控件;scrollbarStyle为滚动条的样式-->
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="200px"
        android:scrollbarStyle="outsideOverlay"
        android:background="#aabbcc">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textview"/>

    </ScrollView>

</LinearLayout>


(3)打开src\fs.li_scrollviewjava包下的MainActivity.java文件,在文件中实现Scrollview的设置,其代码为:


package com.duck.shiretan.scrollapplication;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.setContentView(R.layout.activity_main);
        setTitle("ScrollView");
        TextView textView = (TextView) findViewById(R.id.textview);
        textView.setText("我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n 我是Android\n");
    }
}

运行上面的代码得到的就是我们想要实现的Scrollview控件的配置。


欢迎大家加入技术交流群:364595326


Android视图之滚动视图