ユーザーが押したときにtextColor
インを変更しようとしています。TextView
でハイパーリンクボタンのようなものを作ろうとしていますWindows 8
。このセレクターは にありres/color folder
ます。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_hovered="true">
<color android:color="@color/darkBlue"/>
</item>
<item android:state_pressed="true">
<color android:color="@color/lightBlue"/>
</item>
<item android:color="@color/black"/> <!-- default color -->
</selector>
そして、私はこのように使用します
<TextView
android:id="@+id/tw_language"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/language_label"
android:layout_marginRight="3dp"
android:clickable="true"
android:autoLink="all"
android:text="@string/default_language_label"
android:textColor="@color/language_button"
/>
設定したこのtextViewへの参照を取得したときの活動中mLanguage.setPaintFlags(mLanguage.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
下線付きのテキストを取得します。そして、これを使用するとアプリがクラッシュします。私が設定した場合
android:background="@color/language_button"
代わりに、textColor
正常に動作します。私が間違っていることを誰かが知っていますか?