5

問題: ボタンが押された後にボタンの背景色を変更したい。

これは単純な問題ですが、これをグーグルで検索するのに多くの時間を費やしましたが、解決策が見つからないようです。これらはすべて、以下に示す同じ XML を参照しています。

私のXMLは次のとおりです。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/black_button_pressed" android:state_focused="true" />
    <item android:drawable="@drawable/black_button_pressed" android:state_pressed="true" />
    <item android:drawable="@drawable/black_button_normal"/>
</selector>

そのため、人がボタンにカーソルを合わせると、ボタンがグレー表示されます。人がボタンをクリックすると、クリック後にボタンの背景がグレー表示されるはずですが、グレー表示されないようです。押すと元の状態に戻ります。

私を助けるためのヒントや指針はありますか?

4

2 に答える 2

4

Android では、イベントが完了した後、UI の状態は保持されません。たとえば、button clickイベントを処理してボタンを強調表示できますが、Up イベントが発生すると通常の状態に戻ります。したがって、私が知る限り、唯一のオプションは、別の を設定してボタンの背景を変更することdrawable resourceです。

btn.setBackgroundResource(R.drawable.btn_selected_blue);
于 2012-06-08T11:27:37.153 に答える
0

これは機能します( onClick ハンドラーで):

button.setBackgroundResource(R.drawable.button_selected);

ただし、もっと良い方法があるかもしれません。

于 2012-06-07T21:17:36.497 に答える