SeekBar與ProgressBar實現(xiàn)進度同步

ProgressBar
拖拽SeekBar與ProgressBar實現(xiàn)同步

<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監(jiān)聽事件
重寫onProgressChanged(SeekBar seekBar,int i,boolean b)方法
進行兩個控件的進度設(shè)置setProgress(int progress);
onProgressChanged()方法中布爾參數(shù)表示
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,"結(jié)束拖拽",Toast.LENGTH_SHORT).show();
 }});
}
效果圖
SeekBar與ProgressBar同步.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容