2011-11-09 19 views
6

TextViewスタイルをその状態に基づいて変更しようとしています。 私のstyles.xmlが含まれていますTextView state_pressed/state_focused/state_selected style change

<style name="text_normal_ops"> 
    <item name="android:gravity">left</item> 
    <item name="android:textColor">@color/text_usual_color</item> 
    <item name="android:textStyle">bold</item> 
</style> 
<style name="text_normal_ops_pressed"> 
    <item name="android:gravity">left</item> 
    <item name="android:textColor">@color/text_pressed</item> 
    <item name="android:textStyle">bold</item> 
</style> 

マイセレクタ(text_ops.xml)のように定義されます。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" style="@style/text_normal_ops_pressed" /> 
    <item android:state_focused="true" style="@style/text_normal_ops_pressed" /> 
    <item android:state_selected="true" style="@style/text_normal_ops_pressed" /> 
    <item style="@style/text_normal_ops"/> 
</selector> 

しかし、私は私のTextViewにこれを適用する場合(style="@drawable/text_ops")それは動作しません。 ヒント?
ありがとう

+0

のためのリンクの下に確認してください、あなたは> RES-でウルのstyles.xmlを保持しています値のフォルダ??? – Hanry

+0

はい私はハリーを持っています。 – trenpixster

答えて

9

私の知る限り、アンドロイドには2つの状態リストがあります。1.カラー状態リストリソース2. StateListDrawable。あなたはそれでスタイルを使用している場合は、ドキュメント

を再確認してください詳細は

  1. http://developer.android.com/guide/topics/resources/color-list-resource.html
  2. http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
+0

ありがとうManeesh、私は問題だと思う。あなたは回避策を知っていますか? – trenpixster

1

問題は行style="@drawable/text_ops"これはstyle = "@ style/text_ops"でなければなりません。

私はスタイルのセレクタを使用しようとはしていませんが、それがうまくいくならそれはうまくいくでしょう。

+0

ええ、私はあなたが意味することを知っています。また、__styles__セレクタファイルを__drawables__フォルダに入れるのはちょっと変わったと思いますが、 'values/styles.xml'の中にセレクタを含めることはできません。 – trenpixster