Android按钮shape形状资源代码实现

1、项目Src下创建drawable

看文档Develop/API Guides/App Resources/Drawable/Shape Drawable

单词:corners : 角  ;  gradient :梯度; solid:固定的; stroke: 边框--可以做下划线
       Rectangle : 矩形;dash :破折号 gap:间隙;

2、拷贝实例代码,文件命名(gradient_box.xml,下面是模版)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dip"/>
    
    <gradient android:startColor="#ff0000"
        android:endColor="#00ff0000"/>
    
    <solid android:color="#ffffff" />
    
    <stroke android:width="3dip" android:color="#000000" android:dashGap="5dip"
        android:dashWidth="5dip"/>
    
</shape>

3、默认状态function_greenbutton_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dip"/>
    
    <solid android:color="#ffffff" />
    
</shape>

4、按下去状态状态function_greenbutton_pressed.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dip"/>
    
    <solid android:color="#22000000" />
    
</shape>

5、把两个状态整合在shape_bg.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="@drawable/function_greenbutton_pressed" /> <!-- pressed -->
          
    <item android:state_focused="true"
          android:drawable="@drawable/function_greenbutton_pressed" /> <!-- focused -->
          
  
    <item android:drawable="@drawable/function_greenbutton_normal" /> <!-- default -->
</selector>

6、并使用

在Button框下android:background="@drawable/shape_bg"来调用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。