GettingSignals

[Android]selectorをJavaで書く

2012年11月16日
Posted by hina

selector使うと、
ボタン押したときの画像を変更できたりします。
とても、便利。

今回は、
XMLで定義しないで、プログラム上でselectorを行う方法です。

使うのは、StateListDrawableクラス。

http://developer.android.com/intl/ja/reference/android/graphics/drawable/StateListDrawable.html

使い方
        Drawable iconOn = /* Drawble 作成する */;
        Drawable iconOff = /* Drawble 作成する */;
        
        // StateListDrawable に状態と表示するDrawable をセット
        StateListDrawable d = new StateListDrawable();
        d.addState( new int[]{ android.R.attr.state_selected }, iconOn );
        d.addState( new int[]{ -android.R.attr.state_selected }, iconOff );
状態は、
new int[] { android.R.attr_state_xxxxx}
という形で指定します。
状態が無効のときは、マイナスを付ける
new int[] { android.R.attr_state_xxxxx}
あとは、Viewにセットするだけです。
Share

Comments are currently closed.

Follow

カレンダー

2024年12月
 1
2345678
9101112131415
16171819202122
23242526272829
3031