2012-04-26 13 views
0

された後に戻ってorginal色に行かないではない私は、次のように私は、テキストの色を設定していますテキストビューがあります。のTextViewが押されていない

<TextViw 
android:id = "@+id/tv" 
android:clickable = "true" 
android:textColor = "@color/clickable_text" 
android:textSize="16sp" 
/> 

をそしてselecorが

<item android:state_pressed "true" android:color = "#FF0000" /> //which is red 
<item android:color = "#00FF66" /> //which is Green 

のTextViewが開始され期待どおりのグリーンです。それをクリックすると、色が赤色に変わります。しかし、クリックを解除するとき(すなわち、それを触れるとき)。色が黄色に変わります。デフォルトのカラーアンドロイドは、クリックするとクリック可能なビューに変更されます。なぜ!!!!。

私は期待どおりに緑に戻ってはいけませんか?問題は、この色がアクティビティ間を移動して戻ってくることに気づくことです。 助けが必要ですか? ありがとうございました

+0

私は(小さな変更を加えて)あなたのコードを試してみました。セレクタのXMLコードは ''タグですか? –

+0

Yss私はセレクタタグに入れています – Snake

+0

あなたのコードのどこかでテキストの色をリセットしていますか? XMLは正しいように見えます( 'android:state_pressed" true "'を除いて、typoでなければなりません)。 –

答えて

0

通常は、押した状態、フォーカスのある、デフォルトの状態が必要です。そして、いつも最後にデフォルト状態を入れてください。私が推測しているのは、長押ししてから離すと、ボタンは押されず(赤い)、まだ焦点が合っているということです。だからあなたの緑への集中など

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      android:color = "#FF0000" /> <!-- pressed --> 
    <item android:state_focused="true" 
      android:color = "#00FF66" /> <!-- focused --> 
    <item android:color = "#00FF66" /> <!-- default --> 
</selector> 
+0

そうなら、それは赤く留まるはずです。私はそれが黄色(デフォルトの色から)を取得していることを理解していない – Snake

+0

あなたはそれを試してみましたか?一度指を離すと、ボタンは押されなくなりますが、まだフォーカスがあります。フォーカスの値を指定していないため、デフォルトの色が使用されています。 – Kyle

+0

私はそれを試みたが、うまくいかなかった:( – Snake

関連する問題