使形状看起来像按钮

最后发布: 2012-12-03 07:41:29


问题

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

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>

结果如下:

在此处输入图片说明

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

android android-button android-drawable
回答

尝试这个:

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

然后设置按钮的背景

android:background="@drawable/custom_button"