iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Mobile Development

Android Studio初學系列 第 8

Android Studio初學 DAY8 SeekBar元件

  • 分享至 

  • xImage
  •  

SeekBar是一種可以通過滑動在一個範圍內調整值,最常見的用法就是調整音量、調整亮度等,馬上來看看SeekBar可以怎麼做使用吧/images/emoticon/emoticon12.gif
SeekBar 的一些重要属性和方法包括:

  • android:max:定義SeekBar的最大值
  • android:progress:設置SeekBar的當前進度值
  • android:thumb:自定義SeekBar的樣式
  • setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener listener):設置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();
            }
        });
    }
}


上一篇
Android Studio初學 DAY7 Toast訊息
下一篇
Android Studio初學 DAY9 Viewpager2
系列文
Android Studio初學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言