SeekBar控件可以通过拖动滑竿改变当前的值,应用在设置音量或者某些游戏的进度设置中
案例效果
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_one"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="tV_one"
/>
<TextView
android:id="@+id/tv_two"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="tv_two"
/>
<SeekBar
android:id="@+id/sb_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:progress="10"
/>
<SeekBar
android:id="@+id/sb_two"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:secondaryProgress="40"
android:progress="10"
/>
</LinearLayout>
activity代码
package dd.ff;
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
public class SeekBarDemoActivity extends Activity implements OnSeekBarChangeListener {
/** Called when the activity is first created. */
private TextView tv_one;
private TextView tv_two;
private SeekBar sb_one;
private SeekBar sb_two;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv_one=(TextView)findViewById(R.id.tv_one);
tv_two=(TextView)findViewById(R.id.tv_two);
sb_one=(SeekBar)findViewById(R.id.sb_one);
sb_two=(SeekBar)findViewById(R.id.sb_two);
sb_one.setOnSeekBarChangeListener(this);
sb_two.setOnSeekBarChangeListener(this);
}
/**
*
* 进度值改变回调方法
*/
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
if(seekBar.getId()==R.id.sb_one){
tv_one.setText("sb_one当前位置:"+progress);
}else{
tv_two.setText("sb_two当前位置:"+progress);
}
}
/**
*
* 开始拖动回调方法
*/
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if(seekBar.getId()==R.id.sb_one){
tv_one.setText("sb_one开始拖动:");
}else{
tv_two.setText("sb_two开始拖动:");
}
}
/**
* 停止拖动回调方法
*/
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if(seekBar.getId()==R.id.sb_one){
tv_one.setText("sb_one停止拖动:");
}else{
tv_two.setText("sb_two停止拖动:");
}
}
}