我想使用以下选择按钮:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/jobs" android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="5dp" />
</shape>
<scale android:scaleHeight="90%" android:scaleWidth="90%" />
</item>
<item android:drawable="@drawable/jobs"></item>
</selector>
但它不起作用。 我想让按钮角落圆形,尺寸小10%,同样的抽屉。实际上我想使用单个drawable给按钮按下效果。有可能吗?
答案 0 :(得分:18)
我发现最好将状态逻辑和可绘制代码分开。来自Android文档:http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@drawable/button_focused" /> <!-- hovered -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
然后我会将代码放在一个单独的可绘制XML中给出圆角。我不确定你是否可以直接在selector
中做这些事情。