android - 继承可绘制选择器

标签 android inheritance selector

我有一个自定义按钮样式如下:

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:state_checked="true" >
    <shape>
        <gradient
            android:startColor="@color/Shadow"
            android:endColor="@color/Highlight"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#000" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_pressed="true" >
    <shape>
        <gradient
            android:startColor="@color/Shadow"
            android:endColor="@color/Highlight"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#000" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:startColor="@color/Shadow"
            android:endColor="@color/Highlight"
            android:angle="90" />
        <stroke
            android:width="1dp"
            android:color="#000" />
        <corners
            android:radius="50dp" />
        <padding
            android:top="10dp"
            android:bottom="10dp" />
    </shape>
</item>
</selector>

我现在想创建一个看起来像这样的按钮,只是右角不是圆角。我知道如何单独设置圆角半径,但有没有办法继承自定义按钮的所有其他属性?

我试过:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">    
<item android:drawable="@drawable/custom_button">
    <shape>
          <corners android:topRightRadius="0dp"
              android:bottomRightRadius="0dp"/>
      </shape>
</item>
</selector>

但是我的 corners 标签似乎被完全忽略了,按钮看起来就像 custom_button。有什么想法吗?

最佳答案

<shape><corners>不接受样式属性,所以我认为您对此无能为力。

关于android - 继承可绘制选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730767/

相关文章:

android - 如何将android应用程序连接到 Node 服务器?

android - MySQL 没有启动 : [ERROR] Failed to create a socket for IPv4 '127.0.0.1' : errno: 13

android - 如何在 firebase android 中获取具有特定值的 child 的数量?

class - 使用其他方法创建 Ocaml 子类的正确方法是什么?

c++ - 在基类中使用抽象期望它是派生类?

CSS3 - 在另一个元素之后选择元素

jquery - 选择所有不具有 "id"属性的元素?

android - 广告服务器没有填充。在 DFP 横幅广告中

grails - Grails 域类与继承之间的关系

javascript - 使用 jQuery,如何选择既不是 A 类也不是 B 类的元素?