android圆角按钮自定义

来源:互联网 发布:大数据产品总监 编辑:程序博客网 时间:2024/06/05 09:31


使用xml定义一个圆角矩形,外围轮廓线实线、内填充渐变色, drawablle文件下建立btn_bg.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>


<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">//设置圆角按钮

        <solid  android:color="#A2B5CD"/>//定义按钮的背景颜色
        <corners android:radius="15dip"/>//设置按钮每个角的弧形角度
        <padding//按钮文字与边界的距离
            android:bottom="5dp"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp"/>
</shape>

shape控件里面还包含一些属性。

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
  3.    <item>  
  4.       <shape android:shape="rectangle">   
  5.          <solid android:color="#FFEC7600" />  
  6.          <corners  
  7.             android:topLeftRadius="5dip"  
  8.             android:topRightRadius="5dip"  
  9.             android:bottomLeftRadius="5dip"  
  10.             android:bottomRightRadius="5dip" />  
  11.       </shape>  
  12.    </item>  
  13.    <item android:top="1px" android:bottom="1px" android:left="1px" android:right="1px">  
  14.      <shape>  
  15.         <gradient   
  16.             android:startColor="#FFEC7600" android:endColor="#FFFED69E"   
  17.             android:type="linear" android:angle="90"  
  18.             android:centerX="0.5" android:centerY="0.5" />  
  19.         <corners  
  20.             android:topLeftRadius="5dip"  
  21.             android:topRightRadius="5dip"  
  22.             android:bottomLeftRadius="5dip"  
  23.             android:bottomRightRadius="5dip" />  
  24.       </shape>  
  25.    </item>    
  26. </layer-list> 

接下来,同样在drawable文件下建立btn_bg_new.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 按下时背景显示白色,松开透明-->
    <item android:state_pressed="true" android:drawable="@color/bt_bg"/> 
    <item android:state_focused="true" android:drawable="@color/bt" />
    <item android:drawable="@drawable/btn_bg" />
</selector>

main.xml文件中button应用自定义代码效果:

<Button
        android:id="@+id/button_single"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/btn_bg_new"
        android:text="@string/button_single" />


    <Button
        android:id="@+id/button_two"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="1dp"
        android:layout_gravity="center"
         android:background="@drawable/btn_bg_new"
        android:text="@string/button_two" />


    <Button
        android:id="@+id/button_risk"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="1dp"
        android:layout_gravity="center"
         android:background="@drawable/btn_bg_new"
        android:text="@string/button_risk" />

效果图如下:

0 0