Seekbar是Android中的拖动条。它是继承ProgressBar编写的。我们在音频播放,视频播放的时候往往需要用到这个控价。这里我们简单介绍一下这个控件的使用。废话不多说,直接上代码。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<SeekBar
android:id="@+id/seekbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="当前进度为:50,最大进度为100"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener {
private SeekBar seekbar;
private TextView tv_progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
seekbar = findViewById(R.id.seekbar);
tv_progress = findViewById(R.id.tv_progress);
//给seekbar设置进度变更监听器
seekbar.setOnSeekBarChangeListener(this);
//设置拖动条的当前进度
seekbar.setProgress(50);
}
/**
* 在进度变更时触发。第三个参数为true表示用户拖动,为false表示代码设置进度
* @param seekBar
* @param progress
* @param fromUser
*/
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
String desc = "当前进度为:"+seekBar.getProgress()+",最大进度为:"+seekBar.getMax();
tv_progress.setText(desc);
}
/**
* 当开始拖动进度时触发
* @param seekBar
*/
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
/**
* 在停止拖动进度时触发
* @param seekBar
*/
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}
这样我们就简单的可以使用进度条来控制并监听当前的进度。