2014-12-03 103 views
4

我发现此问题Q & A Is it possible to change the left drawable of a Button in Selector xml?它不适用于我。我尝试这样做:更改按钮选择器中的drawableleft

<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" /> 

有人可以告诉我如何做这个工作?

+0

解释更多它如何不适合你,如果需要的话,分享一些代码 – Yazan 2014-12-03 09:02:08

+0

我不明白答案“创建一个单独的选择器并尝试将它设置为Button上的drawableLeft。”我试图在选择器项目中绘制左侧设置单独的选择器。不,我知道我需要设置这样的选择器:

+0

你有没有定义widht&height?发布整个XML?只有'android:drawableLeft'不工作或整个按钮不显示? – 2014-12-03 09:20:52

回答

9

我建议: 按钮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做同样的事情。希望能帮助到你!