a) 什麼是SeekBar
b) 使用SeekBar的步驟:
i. 在布局檔案當中聲明SeekBar: <SekBar android:id=”@+id/seekbarld” android:layout_width=”fill_parent” android:layout_height=”wrap_content”/>
ii. 定義一個OnSeekBarChangeListener: private class SeekBarListener implements SeekBar.OnSeekBarChangeListener{public void onProgressChanged(SeekBar seekBar,int progress,Boolean fromUser){System.out.println(progress);} public void onStartTrackingTouch(SeekBar seekBar){System.out.println(“start:=>”+seekBar.getProgress());} public void onStopTrackingTouch(SeekBar seekBar){System.out.println(“begin:=>”+seekBar.getProgress());}}
iii. 為SeekBar綁定監聽器: seekBarSetOnSeekBarChangeListener(new SeekBarListener());
案例項目:
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<SeekBar
android:id="@+id/seekBarId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
SeekBarJsd.java:
package com.jsd;
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
/**
* SeekBar Progress
* @author Administrator
*
*/
public class SeekBarJsd extends Activity {
private SeekBar seekBar = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
seekBar = (SeekBar) findViewById(R.id.seekBarId);
//設定該進度條的最大值,預設情況下為O
seekBar.setMax(100);
seekBar.setOnSeekBarChangeListener(seekBarListener);
}
/**
* SeekBarListener
* 定義一個監聽器,該監聽器負責監聽進度條進度的改變
*/
private SeekBar.OnSeekBarChangeListener seekBarListener = new SeekBar.OnSeekBarChangeListener() {
/**
* 當使用者結束對滑塊滑動時,調用該方法
*/
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
System.out.println("stop: > "+seekBar.getProgress());
}
/**
* 當使用者開始滑動滑塊時調用該方法
*/
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
System.out.println("start: => "+seekBar.getProgress());
}
/**
* 當進度條發生變化時調用該方法
*/
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
System.out.println(progress);
}
}
圖:
}tu