seekbar手動拖動與progressbar進度綁定
-
佈局代碼
<ProgressBar android:id="@+id/progress2" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dp" android:progress="30" /> <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp"/> <TextView android:id="@+id/tv_Progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="當前的進度是" android:textSize="18dp"/>
`
- 活動代碼
public class Test extends AppCompatActivity {
private ProgressBar progressBar;
private SeekBar seekBar;
private TextView tvprogress;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
initView();
}
public void initView(){
progressBar = findViewById(R.id.progress2);
seekBar = findViewById(R.id.seekbar);
tvprogress = findViewById(R.id.tv_Progress);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//滑桿值發生改變,此方法被觸發。1.本身,2.進度欄
progressBar.setProgress(progress);//滑桿走多少,進度條走多少
tvprogress.setText("當前進度爲" + progress + "%");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//有touch行爲時會觸發
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//拖動停止時會觸發
if(progressBar.getProgress() >= progressBar.getMax()){
progressBar.setVisibility(View.INVISIBLE);
}else{
progressBar.setVisibility(View.VISIBLE);
}
}
});
}
}
很簡單,不知道有用沒。。。