2012-12-03 25 views
0

我确实有一组按钮,我使用选择器形状进行自定义。这里是什么我到目前为止的代码和图片:使形状看起来像一个按钮

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

我只应用该样式对于第一个按钮,你可以看到它看起来太平。如何让它看起来更像一个按钮?

+0

尽量提高你的坡度区段。选择合适的颜色看起来更真实。渐变标签中还可以使用'centerColor'。 – Shaiful

+0

@Shaiful,我不想做一般按钮的精确副本,这是我想要的颜色。正如你可能看到通常的按钮有一个阴影,如何实现这一点? – Daler

+0

如果您想使用9贴片图像,您可能会感兴趣的阴影。非常适合背景。 – Shaiful

回答

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" 
相关问题