正文
一、结构
public class SeekBar extends AbsSeekBar
java.lang.Object
android.view.View
android.widget.ProgressBar
android.widget.AbsSeekBar
android.widget.SeekBar
二、概述
![]()
SeekBar是ProgressBar的扩展,在其基础上增加了一个可拖动的thumb(注:就是那个可拖动的图标)。用户可以触摸thumb并向左或向右拖动,再或者可以使用方向键都可以设置当前的进度等级。不建议把可以获取焦点的widget放在SeekBar的左边或右边。
SeekBar可以附加一个SeekBar.OnSeekBarChangeListener以获得用户操作的通知。
三、内部类
接口 SeekBar.OnSeekBarChangeListener
一个回调函数用来当进度等级发生改变时通知客户端
四、XML属性
| 属性名称 |
描述 |
| android:thumb |
Seekbar上绘制的thumb(可拖动的那个图标) |
五、公共方法
public void setOnSeekBarChangeListener (SeekBar.OnSeekBarChangeListener l)
设置一个监听器以接受seekbar进度改变时的通知。同时提供用户在SeekBar上开始和停止触摸手势时的通知。
参数
l SeekBar的通知监听对象
参见
SeekBar.OnSeekBarChangeListener
六、补充
6.1 文章链接
在android里做一个竖着的seekbar
Android UI设计 SeekBar拖动条用法
6.2 示例代码
6.2.1 java文件
public
class
SeekBarDemo
extends
Activity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.seekbardemo);
final
SeekBar seekBar1
=
(SeekBar)
this
.findViewById(R.id.seekBar1);
seekBar1.setOnSeekBarChangeListener(
new
OnSeekBarChangeListener() {
@Override
public
void
onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public
void
onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public
void
onProgressChanged(SeekBar seekBar,
int
progress,
boolean
fromUser) {
Toast.makeText(SeekBarDemo.
this
,
String.valueOf(seekBar1.getProgress()),
Toast.LENGTH_SHORT).show();
}
});
}
}
6.2.1 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"
>
<
SeekBar
android:id
="@+id/seekBar1"
android:layout_width
="fill_parent"
android:layout_height
="wrap_content"
android:max
="100"
></
SeekBar
>
</
LinearLayout
>
本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582654,如需转载请自行联系原作者