使形状看起来像一个按钮

时间:2012-12-03 07:41:29

标签: android android-button android-drawable

我有一组按钮,我使用选择器形状进行自定义。这是我到目前为止的代码和图像:

CODE-bgbtn.xml

    <item android:state_pressed="true" >
    <shape>
    <solid
      android:color="#004dfd" />
    <stroke
       android:width="1dp"
       android:color="#2f3436" />
    <corners
       android:radius="0dp" />
    <padding
       android:left="10dp"
       android:top="10dp"
       android:right="10dp"
       android:bottom="10dp" />
    </shape>
</item>
<item>
    <shape>
        <gradient
            android:startColor="#425262"
            android:endColor="#51677d"
            android:angle="45" />
        <stroke
            android:width="1dp"
            android:color="#2f3436" />
        <corners
            android:radius="0dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

结果如下:

enter image description here

我仅将样式应用于第一个按钮,因为您可以看到它看起来太平。如何让它看起来更像一个按钮?

1 个答案:

答案 0 :(得分:0)

试试这个:

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

    <item android:state_enabled="true"
            android:state_pressed="true">
        <shape android:padding="10dp" android:shape="rectangle">
            <gradient android:startColor="@color/yourColor" android:endColor="@color/yourColor" android:angle="90"/>
            <stroke android:width="2dp" android:color="#3E4976" />
            <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" />
        </shape>
    </item>
    <item android:state_enabled="true" android:state_focused="true">
        <shape android:padding="10dp" android:shape="rectangle">
            <gradient android:startColor="@color/yourColor" android:endColor="@color/yourColor" android:angle="90"/>
            <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" />
        </shape>
    </item>
    <item android:state_enabled="true">
        <shape android:padding="10dp"
            android:shape="rectangle">
            <gradient android:startColor="@color/yourColor" android:endColor="@color/yourColor" android:angle="90"/>
            <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" />
        </shape>
    </item>
</selector>

然后使用setBackground按钮

android:background="@drawable/custom_button"