滚动视图的使用形式与各个布局管理器的操作形式类似,唯一不同的是,所有的布局管理器之中,可以包含多个组件,而滚动视图里只能有一个组件,所以所谓的视图指的就是提供一个专门的容器,这个容器里面可以装下多于屏幕宽度的组件,而后采用拖拽的方式显示所有 ScrollView 中的组件。
我们这个案例是显示常用网址!
知识点:ScrollView控件
一、设计界面
1、打开“res/layout/activity_main.xml”文件。
手工输入以下代码:切记XML文件ScrollView中只能放一个其他控件,如果想加入更多,只能通过java代码形式。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
二、ScrollView流动视图代码
1、打开“src/com.genwoxue.scrollview/MainActivity.java”文件。
然后输入以下代码:
package com.example.hw;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private String webaddress[] ={"网易:www.163.com","新浪:www.sina.com.cn","搜狐:www.sohu.com",
"腾讯:www.qq.com","百度:www.baidu.com","东方财富:www.eastmoney.com",
"金融界:www.jrj.com.cn","奇艺:www.iqiyi.com","携程网:www.ctrip.com","中国移动:www.10086.cn",
"美食中国:www.meishichina.com","工商银行:www.icbc.com.cn","CSDN:www.csdn.net","跟我学:www.genwoxue.com"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取LinearLayout布局
LinearLayout layout = (LinearLayout) super.findViewById(R.id.linear);
//定义布局参数
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
for(int i = 0;i<this.webaddress.length;i++){
Button btnWebAddress = new Button(this);
btnWebAddress.setText(webaddress[i]);//设置显示字体
layout.addView(btnWebAddress,param);//增加组件
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
ScrollView继承自FrameLayout,所以ScrollView控件本质就是一个布局管理器。
2、效果如下,可以上下滑动: