Android 使形状看起来像一个按钮

Android 使形状看起来像一个按钮,android,android-button,android-drawable,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" />

我确实有一组按钮,我正在使用选择器形状自定义这些按钮。以下是我目前掌握的代码和图像:

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>

其结果是:

我只为第一个按钮应用了该样式,因为您可以看到它看起来太扁平了。如何使它看起来更像一个按钮?

试试这个:

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

尝试改善你的渐变部分。选择正确的颜色,使其看起来更逼真。在渐变标记中也使用
centerColor
。@Shaiful,我不想复制普通按钮,这是我想要的颜色。正如您可能看到的,通常的按钮都有阴影,如何实现这一点?如果您想要阴影,您可能会对使用9面片图像感兴趣。背景很好。
android:background="@drawable/custom_button"