安卓按钮背景选择器

9
我想使用以下选择器来选取按钮:

<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%。实际上,我想使用单个可绘制对象给按钮添加按下效果。这可能吗?

1个回答

21

我认为将状态逻辑和可绘制代码分开是最好的。根据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中完成这样的操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接