在按钮选择器中更改可绘制对象左侧



我找到了这个问答 是否可以在选择器 xml 中更改按钮的左侧可绘制对象? 它对我不起作用。我试过这个:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/blue_rounded_button" android:drawableLeft="@drawable/aj_share_button_drawableleft" android:state_pressed="true"/>
    <item android:drawable="@drawable/blue_rounded_button_frame" android:drawableLeft="@drawable/aj_share_button_drawableleft" />
</selector>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/aj_share_button_white_icon" android:state_pressed="true"/>
    <item android:drawable="@drawable/aj_share_button_blue_icon" />
</selector>

像这样设置选择器:

<Button android:id="@+id/button1" 
android:background="@drawable/aj_share_button_state"
android:drawableLeft="@drawable/aj_share_button_drawableleft" /> 

有人可以告诉我如何使它工作吗?

我建议:您的按钮 xml:

<Button android:id="@+id/button1" 
    android:background="@drawable/selector_aj_share_button_state"
    android:drawableLeft="@drawable/selector_aj_share_button_drawableleft"
/> 

selector_aj_share_button_drawableleft.xml(在可绘制文件夹中)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" 
        android:state_pressed="false" 
        android:drawable="@drawable/aj_share_button_white_icon"/>
    <item android:state_focused="true" 
        android:state_pressed="true" 
        android:drawable="@drawable/aj_share_button_white_icon" />
    <item android:state_focused="false" 
        android:state_pressed="true" 
        android:drawable="@drawable/aj_share_button_white_icon" />
    <item android:drawable="@drawable/aj_share_button_blue_icon"/>
</selector>

它现在适用于左侧可绘制对象。尝试对selector_aj_share_button_state做同样的事情。希望对您有所帮助!

最新更新