SeekBar是ProgressBar的子类,用户调节进度条进度
常用语电影音乐进度条
项目中一般使用seekBar作为可以拖动的进度条,
progressBar显示真是整体进度的进度条
seekBar.setSecondaryProgress();显示预加载进度条
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.axnet.progressbaractivity.MainActivity">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
/>
<SeekBar
android:id="@+id/seekBar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
<Button
android:id="@+id/btn_increase"
android:text="增加进度"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/btn_decrease"
android:text="减少进度"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
“`
public class MainActivity extends AppCompatActivity {
ProgressBar progressBar;
SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressBar=(ProgressBar)findViewById(R.id.progressBar);
seekBar=(SeekBar)findViewById(R.id.seekBar);
//设置progressBar最大值
progressBar.setMax(100);
//设置seekBar最大值
seekBar.setMax(100);
//给SeekBar控件的setSecondaryProgress赋初始值
//是一个浅一点的背景颜色
seekBar.setSecondaryProgress(10);
//设置初始值
seekBar.setProgress(0);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
//变化的时候调用
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// 如果seekBar拖拽,同步修改progressBar效果
if(fromUser){
progressBar.setProgress(progress);
}
}
//开始拖动的时候调用
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
//结束拖动的时候调用
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
“`