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組件實現。