xmlに背景が定義されたボタンがあります。私はそれが現在の状態に基づいてボタンを色づけしたいと思います。xmlセレクタでdrawableの色合いを変更します。
ここに私のXMLファイルがあります。また、私のcolored_tint_dark
とcolored_tint
はどちらも、私がリソースフォルダから呼び出す描画可能なイメージを描画しようとしている半透明の色です。ここに問題があります。 UIが最初にロードされると、画像には適切な色合いがありますが、押した後、押した状態には何も表示されず、通常の状態では何も表示されません。
<?xml version="1.0" encoding="utf-8"?>
<item android:state_pressed="true" android:drawable="@drawable/rounded_grayscale_pinstripe_button">
<shape>
<gradient
android:endColor="@color/colored_tint"
android:startColor="@color/colored_tint"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/colored_tint" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" android:drawable="@drawable/rounded_grayscale_pinstripe_button">
<shape>
<gradient
android:endColor="@color/colored_tint"
android:startColor="@color/colored_tint"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/colored_tint" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:drawable="@drawable/rounded_grayscale_pinstripe_button">
<shape>
<gradient
android:endColor="@color/colored_tint_dark"
android:startColor="@color/colored_tint_dark"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/colored_tint_dark" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
私はこれに対する解決策は、Javaであることを知っているが、私は特に、XMLでの解決策を探しています。ありがとう。
HI、私は、API 18と下部に色合いセレクターの問題を持っている[リンク](http://stackoverflow.com/questions/38673196/crash -during-inflating-view-with-vector-drawable-tint-color-selector) 問題の原因を教えてください。 – Alex
android:tint属性がすべてのapisで機能しません。これを解決するには、適切な色の.pngファイルを直接作成し、ImageViewからandroid:tint属性を削除します。 –
tint_menu_item.xmlはどこに配置しますか? – rraallvv