Androidアプリにデフォルトのseekbar
があります。thumb
のseekbar
を押したままにすると、黄色に変わります。代わりに、押したときに青くなります。これを行うにはどうすればよいですか?これが基本的な質問である場合はお詫び申し上げます。Android開発に慣れていません。ありがとうございます。
デフォルトのつまみが気に入らない場合は、独自の Drawable
を作成する必要があります。これにより、次のようなコードでつまみを設定できます。
Drawable thumb = getResources().getDrawable( R.drawable.myThumb );
SeekBar mSeekBar = (SeekBar) findViewById(R.id.mySeekBar);
mSeekbar.setThumb(thumb);
または、次のようにして親指をXMLに設定できます。
<SeekBar
...
Android:thumb="@drawable/seek_thumb" />
実際のDrawableは、画像、形状、または必要に応じて他の種類のDrawableにすることができます。親指が押されたときに外観を変更したい場合は、 State List Drawable
。
画像フィルターを使用して、デフォルトの状態リストドローアブル(SeekBarを含む)の色を変更します。
// Change seekbar color to green.
SeekBar sb = (SeekBar) findViewById(R.id.seekBar1);
sb.getProgressDrawable().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
sb.getThumb().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
メソッドgetThumb
は、API 16以降(Jelly Bean)以降でのみ使用できます。
追加のスタイリングの必要はありません。 Androidはxmlでサポートします。シークバーにAndroid:thumbTint = "@ color/yourColor"を追加するだけです。
たとえば.
<SeekBar
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:max="100"
Android:thumbTint="@color/red"
Android:progress="0" />