SeekBar与ProgressBar实现进度同步

ProgressBar
拖拽SeekBar与ProgressBar实现同步

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:progress="20"
        android:max="100"/>
    <ProgressBar
        android:id="@+id/proBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:progress="20"
        android:max="100"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"/>
</LinearLayout>

SeekBar.OnSeekBarChangeListener监听事件
重写onProgressChanged(SeekBar seekBar,int i,boolean b)方法
进行两个控件的进度设置setProgress(int progress);
onProgressChanged()方法中布尔参数表示
false:表示seekBar自动变化 true:表示用户自己在拖拽

private void initView(){
    SeekBar  seekBar= (SeekBar) findViewById(R.id.seekBar);
    final ProgressBar progressBar= (ProgressBar)  findViewById(R.id.proBar);
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
        //b:true 表示用户拖拽,false:表示seekBar自己在加载
        if(b){
            progressBar.setProgress(i);
}}
    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        Toast.makeText(MainActivity.this,"开始拖拽",Toast.LENGTH_SHORT).show();
}
     @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        Toast.makeText(MainActivity.this,"结束拖拽",Toast.LENGTH_SHORT).show();
 }});
}
效果图
SeekBar与ProgressBar同步.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容