2012-06-07 16 views
5

問題:ボタンを押した後、ボタンの背景色を変更したい。ボタンをクリックした後のアンドロイド変更ボタンの背景色

これは簡単な問題ですが、私はこれを検索するのに多くの時間を費やしており、解決策を見つけることができません。それらはすべて、下に表示される同じ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> 

をだから、人がボタンの上に置いたときに、それはグレーアウト表示されます:

私のXMLは次のようです。ある人がボタンをクリックすると、そのボタンの背景はクリック後にグレー表示されますが、グレー表示されていないようです。プレスの後は通常の状態に戻ります。

皆さんには私を助けるヒントやポインタがありますか?

+0

クリックした後は通常の状態に戻ります。クリックした状態で永続的に滞在したい場合は、以下のRussの答えを使用する必要があります。ただし、ユーザーが同じアニメーションでもう一度クリックできるようにするには、バックグラウンドリソースをそのXMLファイルに戻す必要があります。 – Guardanis

答えて

2

アンドロイドでは、イベントの完了後もUIの状態は保持されません。たとえば、ボタンのクリックイベントを処理してボタンを強調表示できますが、Upイベントが発生すると通常の状態に戻ります。だから、私が知る限り、唯一の選択肢は、異なるdrawableリソースを設定してボタンの背景を変更することです。

btn.setBackgroundResource(R.drawable.btn_selected_blue);

0

これは、(あなたのonClickハンドラ内で)動作します。

button.setBackgroundResource(R.drawable.button_selected); 

しかしよりよい方法があるかもしれません。

+0

私はすでにそれが動作していないのを試してみました。 – Unknown

関連する問題