滚动视图的使用形式与各个布局管理器的操作形式类似,唯一不同的是,所有的布局管理器之中,可以包含多个组件,而滚动视图里只能有一个组件,所以所谓的视图指的就是提供一个专门的容器,这个容器里面可以装下多于屏幕宽度的组件,而后采用拖拽的方式显示所有 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 xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@+id/linear" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView>
二、ScrollView流动视图代码
1、打开“src/com.genwoxue.scrollview/MainActivity.java”文件。
然后输入以下代码:
package com.genwoxue.scrollview; import android.app.Activity; import android.os.Bundle; 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" }; @Override public 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(this.webaddress[i]); // 设置显示文字 layout.addView(btnWebAddress, param); // 增加组件 } } }
ScrollView继承自FrameLayout,所以ScrollView控件本质就是一个布局管理器。
2、效果如下: