一、继承
java.lang.Object
↳ android.view.View
↳ android.widget.ProgressBar
↳ android.widget.AbsSeekBar
↳ android.widget.SeekBar
二、XML属性
android:thumb=“@mipmap/ic_launcher” seekbar上面的滑块
三、简单使用
public class MainActivity extends AppCompatActivity {
private SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initClick();
}
private void initView() {
seekBar = findViewById(R.id.seekBar);
}
private void initClick() {
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
/**
* 进度级别已更改的通知。客户端可以使用fromUser参数来区分用户启动的更改和以编程方式发生的更改。
* 参数:
* @param seekBar 进度已更改的seekBar
* @param progress 当前进度级别。这将在min.max范围内,其中min和max分别由ProgressBar.setMin(int)和ProgressBar_setMax(int)设置。(最小值的默认值为0,最大值为100。)
* @param fromUser 如果进度更改是由用户发起的,则为True
*/
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
Log.d("当前进度:", progress + "");
}
/**
* 用户已开始触摸手势的通知。客户端可能希望使用此选项来禁用搜索栏的前进。
* 参数:
* @param seekBar 触摸手势开始的seekBar
*/
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
/**
* 用户已完成触摸手势的通知。客户可能希望使用此功能重新启用搜索栏的前进功能。
* 参数:
* @param seekBar 触摸手势开始的seekBar
*/
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="500dp"
android:layout_height="wrap_content"
android:thumb="@mipmap/ic_launcher"
android:progress="30"
android:max="100"/>
</LinearLayout>