Наследовать рисованный селектор - PullRequest
7 голосов
/ 16 марта 2012

У меня есть пользовательский стиль кнопки следующим образом:

<?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>

но мой тег углов, похоже, полностью игнорируется, кнопки просто выглядят как кнопки custom_button. Какие-нибудь мысли?

1 Ответ

1 голос
/ 15 сентября 2012

<shape> и <corners> не принимают атрибут стиля, поэтому я думаю, что вы ничего не можете с этим поделать.

...