使用shape自定义圆角样式的Button和EditText

在Android开发过程中,UI设计师给出的效果图中会出现圆角的按钮,开发人员可以直接使用图片素材或使用shape来自定义按钮的方式来达到效果。但是直接使用图片素材会导致整个apk文件很大。所以,推荐使用shape来实现。

1.使用shape绘制圆角的、颜色充满的Button

  


 在drawable中创建shape_btn_wifi_connect_pressed.xml

  



    
    
  其中radius为圆角半径值,值越大,圆角越圆。

2.使用shape绘制圆角的 、只有边框的Button

  

 

  在drawable中创建shape_btn_add.xml

 



    
    
    

3.使用shape绘制圆角的 、描边的Button

在drawable中创建shape_btn_normal.xml


    
    
    

3.同样,我们可以使用shape来改变EditText的样式

在drawable中创建shape_et.xml


    
    
4.使用shape绘制虚线




    
    


【附】

 shape的属性:

  •   solid  实心,即充满 

             属性:android:color 指定填充的颜色

  •   gradient 渐变

             属性:android:type 渐变类型

             

Value Description
"linear" 线性渐变
"radial" 圆形渐变,起始颜色从cenralX,centralY点开始。需要指定android:gradientRadius
"sweep" A sweeping line gradient.

                    android:angle 渐变颜色的角度,默认为0,必须为45的整数倍(只在type为linear下起作用,默认type为linear)

                            取值: 0表示从左向右

                                         90表示从下向上

                                         270表示从上向下

                                        360表示从右到左

                    android:startColor  渐变开始颜色

                    android: endColor  渐变 结束颜色

  •    stroke 描边

                         属性:android:width 描边的宽度

                                   android:color  描边的颜色

                                  通过以下两个属性可以把边绘制为虚线样式

                                  android:dashWidth  一小段虚线“-”的宽度(长度)

                                 android:dashGap    虚线之间的间隔距离


  • corners 圆角

      属性: android:radius 角的弧度,越大越角越圆

                   android:topLeftRadius  左上角

                   android:topRightRadius 右上角

                   android:bottomLeftRadius 右下角

                   android:bottomRightRadius 左下角

  • padding 间隔

你可能感兴趣的:(布局)