selector
でドローアブルを使用することは可能ImageSpan
ですか?
セレクターのテキストの色がTextView
あり、セレクター リソースで ImageSpan を追加します。テキストの色の変更は正常に機能し、画像は変更されません。それはバグですか、それともセレクタスパンを作成する方法はありますか?
私のTextView
:
<TextView
android:id="@+id/text"
android:ellipsize="end"
android:layout_height="fill_parent"
android:duplicateParentState="true" // parent of this text view can be selected
android:gravity="center_vertical"
android:lines="1"
android:textColor="@color/message_content_simple_text" // here is selector - it works fine
android:textSize="15dp" />
セレクタ:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_active" android:state_focused="true"/>
<item android:drawable="@drawable/ic_active" android:state_selected="true"/>
<item android:drawable="@drawable/ic_active" android:state_pressed="true"/>
<item android:drawable="@drawable/ic_passive"/>
</selector>
スパンを追加するコード:
SpannableString text = new SpannableString(" some text");
ImageSpan span = new ImageSpan(context, R.drawable.icon, ImageSpan.ALIGN_BASELINE);
text.setSpan(span, 0, 1, SpannableString.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(text);
このテキストビューを選択すると、「一部のテキスト」が必要に応じて色が変わりますが、画像は変わりません。
編集
Android のバグがある場合、同じ結果を得る方法を教えていただけますか?