-1

これは、状態に応じて、アプリのボタン画像を変更するために使用する xml コードです。

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false"
android:drawable="@drawable/button_n" />

<item android:state_pressed="true"
android:drawable="@drawable/button_p" />

</selector>

コードでこれを行うにはどうすればよいですか? 私はこれを試しました:

StateListDrawable sl = new StateListDrawable();

sl.addState(new int[]{ android.R.attr.state_pressed}, R.drawable.gridcard_button_p);

ただし、addState は最初の引数として int 配列を取り、ドローアブル オブジェクトを sedon として取ります (私の例のように int ではありません)。

この方法を正しい方法で使用するにはどうすればよいですか?

4

1 に答える 1

1
 StateListDrawable states = new StateListDrawable();
 states.addState(new int[] {android.R.attr.state_pressed},
 getResources().getDrawable(R.drawable.pressed));
 states.addState(new int[] {android.R.attr.state_focused},
 getResources().getDrawable(R.drawable.focused));
 states.addState(new int[] { },
 getResources().getDrawable(R.drawable.normal));
 //... like this you can do for remaining
 Button.setImageDrawable(states);
于 2012-10-02T08:50:51.940 に答える