[Android Studio] SeekBarをスライドでトーストを出す

どうも、tatsuです!

今日は、SeekBarをスライドでトーストを出すやり方を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

SeekBarをスライドでトーストを出す

activity_main.xml

activity_main.xmlは以下のようにします。

    <SeekBar
        android:id="@+id/seek"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20px"
        android:max="100"
        android:progress="50"/>

MainActivity.java

MainActivity.javaは以下のようにします。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // idがseekのSeekBarを取得
        SeekBar seekBar = (SeekBar) findViewById(R.id.seek);
        // seekBarの値が変更された時の処理を設定
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            String displayChar = "";
            Toast toast;
            // つまみを動かしている間に行う処理
            public void onProgressChanged(SeekBar seek, int progress, boolean isUserAction){
                displayChar = "現在値は" + progress + "です";
                toast = Toast.makeText(MainActivity.this, displayChar, Toast.LENGTH_SHORT);
                toast.show();
            }

            // つまみをクリックしたときに行う処理
            public void onStartTrackingTouch(SeekBar seek){
                // 現在値を取得
                int progress = seek.getProgress();
                displayChar = "現在値は" + progress + "です";
                toast = Toast.makeText(MainActivity.this, displayChar, Toast.LENGTH_SHORT);
                toast.show();
            }

            // つまみを離したときに行う処理(今回はつまみをクリックしたときの処理と同じなので、onStartTrackingTouchを呼んでいる)
            public void onStopTrackingTouch(SeekBar seek) {
                onStartTrackingTouch(seek);
            }
        });
    }
}

スライドした結果

※↓つまみを動かしている間、つまみをクリックしたとき、つまみを離したとき(今回はテストなのですべてに処理を入れましたが、複数重なってわかりづらいのでどれか1つにすると良いです)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です