更改按钮选择器中的drawableleft
问题描述:
我发现此问题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" />
有人可以告诉我如何做这个工作?
答
我建议: 按钮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做同样的事情。希望能帮助到你!
解释更多它如何不适合你,如果需要的话,分享一些代码 – Yazan 2014-12-03 09:02:08
我不明白答案“创建一个单独的选择器并尝试将它设置为Button上的drawableLeft。”我试图在选择器项目中绘制左侧设置单独的选择器。不,我知道我需要设置这样的选择器: – user3009824 2014-12-03 09:10:37
你有没有定义widht&height?发布整个XML?只有'android:drawableLeft'不工作或整个按钮不显示? – 2014-12-03 09:20:52