Android开发高级组件--ScrollView(滚动视图组件)

1、手机屏幕的高度有限,当需要显示多组信息时,ScrollView视图可以合理的安排这些组件,浏览是可以自动进行滚屏显示。ScrollView是一个实现滚屏的组件,只要将需要滚屏的组件添加到ScrollView中即可。ScrollView之支持垂直滚动,HorizontalScrollView支持水平滚动。

2、ScrollView层次结构如下:
   java.lang.Object
      android.view.View
         android.view.ViewGroup
            android.widget.FrameLayout
               android.widget.ScrollView

3、ScrollView组件可以在代码中进行设置,也可以在XML布局文件中进行设置,其使用形式与布局管理器的操作形式类似,不同点在于布局管理器中可以包含多个组件,而滚动视图里面只能有一个组件,在这个组件里面可以容纳多余屏幕高度的组件。

4、新建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:id="@+id/scroll">

    <LinearLayout
        android:id="@+id/layout"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        </LinearLayout>

</ScrollView>

5、修改MainActivity.java文件
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
* Created by xiao on 2016/12/26.
*/
public class MainActivity extends Activity {

    private String scrollData[] = {"信息学院", "机械学院", "计算机学院", "新闻学院", "化工学院",
            "美术学院", "计算机学院", "新闻学院", "化工学院", "美术学院", "体育学院", "音乐学院",
            "经济管理学院", "南湖学院", "物理与电子学院", "机电学院", "法律学院", "外语学院",
            "科技处", "图书馆", "教务处", "网络中心", "学工处", "财务处"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.scrollview_xml);

        LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                ViewGroup.LayoutParams.FILL_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);

        for(int i = 0; i < scrollData.length; i++){
            TextView msg = new TextView(this);
            msg.setTextSize(20);
            msg.setText(scrollData[i]);
            layout.addView(msg, params);
        }
    }
}

6、一般不在ScrollView内添加事件监听,如果某组件需要有响应的事件发生,一般使用ListView组件实现。

猜你喜欢

转载自xiaofuyan.iteye.com/blog/2347455