进度,音量等的拖动条。
方法
- setMax 设置 SeekBar的最大数值
- setProgress 设置SeekBar当前的数值
- setSecondaryProgress 设置SeekBar的第二数值,即当前拖动条推荐的数值
事件
实现SeekBar的 SeekBar.OnSeekBarChangeListener接口。
监听三个事件
- 数值改变(onProgressChanged)
- 开始拖动(onStartTrackingTouch)
- 停止拖动(onStopTrackingTouch)
自定义SeekBar进度条
android:progressDrawable=”@drawable/seekbar_img” 改变进度条样式
android:thumb=”@drawable/thumb” 改变滑块的样式
XML
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/seekbar"
android:max="100"
android:progress="50"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv2" />
.JAVA
public class MainActivity extends AppCompatActivity {
private SeekBar seekBar;
private TextView tv1,tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1= (TextView) findViewById(R.id.tv1);
tv2= (TextView) findViewById(R.id.tv2);
seekBar= (SeekBar) findViewById(R.id.seekbar);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
//数值改变
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tv1.setText("正在拖动:");
tv2.setText("当前数值:"+progress);
}
//开始拖动
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
tv1.setText("开始拖动:");
}
//停止拖动
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
tv1.setText("停止拖动:");
}
});
}
}