SeekBar是一種可以通過滑動在一個範圍內調整值,最常見的用法就是調整音量、調整亮度等,馬上來看看SeekBar可以怎麼做使用吧
SeekBar 的一些重要属性和方法包括:
seekbar的監聽事件可以分為三種,我們直接看程式碼
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// 進度值發生變化時觸發
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// 按住seekbar時會觸發
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// 放開seekbar時會觸發
}
});
下面就來做一個簡單的範例:
SeekBar的屬性:
<SeekBar
android:id="@+id/seekBar"
android:layout_width="378dp"
android:layout_height="30dp"
android:layout_marginStart="16dp"
android:layout_marginTop="40dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:max="100" />
程式碼:
public class MainActivity extends AppCompatActivity {
private TextView textView;
private SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
seekBar = findViewById(R.id.seekBar);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
// 進度值發生變化時觸發
textView.setText(i + " / 100");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// 按住seekbar時會觸發
Toast.makeText(MainActivity.this,"已按住SeekBar",Toast.LENGTH_SHORT).show();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// 放開seekbar時會觸發
Toast.makeText(MainActivity.this,"已放開SeekBar",Toast.LENGTH_SHORT).show();
}
});
}
}