TextView
オブジェクトに対してsetEnabled(false)
を呼び出しても、テキストの色は変わりません。グレーに変わると思っていました。 XMLファイルのAndroid:textColor
の行を削除すると、通常の状態に戻ります。
何か案は ?
何が起こっているのかと思うのは、デフォルトのtextcolorをオーバーライドしているため、他のtextcolorスタイルを継承していないからです。 ColorStateList を作成し、textColor属性を色ではなくそれに設定してみてください。
カラーファイル(res/color/example.xmlなど):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_enabled="false" Android:color="@color/disabled_color" />
<item Android:color="@color/normal_color"/>
</selector>
次に、レイアウトで:
<TextView
Android:text="whatever text you want"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textColor="@color/example" />
注意してください、私はしばらくの間これをしていないし、私はメモリからこれの多くを入力しているので、少し調整が必要な場合があります。 ColorStateListドキュメント(上記にリンク)には、カラーXMLファイルのより具体的な例があります。