HorizontalScrollView_應用舉例


main.java

package com.demo.scrollview;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;

public class main extends Activity {
/** Called when the activity is first created. */
private LinearLayout mLayout;
private HorizontalScrollView sView;
private final Handler mHandler = new Handler();

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.horizontalscroll);
// 創建一個線性布局
mLayout = (LinearLayout) this.findViewById(R.id.LinearLayout);
// 創建一個ScrollView對象
sView = (HorizontalScrollView) this.findViewById(R.id.ScrollView);
Button mBtn = (Button) this.findViewById(R.id.Button);
mBtn.setOnClickListener(mClickListener);// 添加點擊事件監聽
}

// Button事件監聽,當點擊第一個按鈕時增加一個button和一個textview
private Button.OnClickListener mClickListener = new Button.OnClickListener() {

@Override
public void onClick(View v) {
TextView tView = new TextView(main.this);// 定義一個TextView
tView.setText("ScrollView也是一個Layout布局,可以讓它內部的數據顯示不下的時候出現垂直滾動條,要注意的是不能在ScrollView中放多個組件");// 設置TextView的文本信息

// 設置線性布局的屬性
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.FILL_PARENT

);
mLayout.addView(tView, params);// 添加一個TextView控件
mHandler.post(mScrollToButton);//傳遞一個消息進行滾動
}

};
private Runnable mScrollToButton = new Runnable() {

@Override
public void run() {
int off = mLayout.getMeasuredWidth() - sView.getWidth();
if (off > 0) {
sView.scrollTo( off,0);// 改變滾動條的位置
}
}

};

}

HorizontalScrollView.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main" android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content">

<Button android:id="@+id/Button" android:text="Button0"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

<HorizontalScrollView android:id="@+id/ScrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:scrollbars="horizontal" >
<LinearLayout android:id="@+id/LinearLayout"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/TestView" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:text="ScrollView也是一個Layout布局,可以讓它內部的數據顯示不下的時候出現垂直滾動條,要注意的是不能在ScrollView中放多個組件" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>


main.java稍作修改可以使用如下兩個xml

main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" >

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

<TextView
android:id="@+id/TestView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TestView0" />

<Button
android:id="@+id/Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button0" >
</Button>
</LinearLayout>

</ScrollView>

mian1.xml

View Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<Button
android:id="@+id/Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button0" >
</Button>

<ScrollView
android:id="@+id/ScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scrollbars="vertical" >

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

<TextView
android:id="@+id/TestView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TestView0" />
</LinearLayout>
</ScrollView>

</LinearLayout>






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM