安卓之自定义按钮(以及shape详解)

简述:

我们知道安卓原生的按钮实在是不堪入目,而面对市场的需求,这么丑的按钮是没有竞争力的,所以一个可以自定义的好看的按钮必不可缺。后面还有shape的属性详解汇总。


自定义按钮

这个实现比较简单,直接贴代码了:

1.首先要在drawable文件夹里面添加个样式文件shapecircle.xml



    
        
      
        
        
 

2.在Button的background属性里面调用drawable下面的我们设置的样式xml文件

  
          
            

效果如图(代码只截取了其中一个按钮的)
安卓之自定义按钮(以及shape详解)_第1张图片

shape属性详解:以下属性按自己的需要加在shap标签下面

1.shape的形状:

默认是矩形,但是我们可以进行设置,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)


其中环形ring有点特殊,一些属性只有它可以用:
(1)android:innerRadius 尺寸,内环的半径
(2)android:innerRadiusRatio 浮点型,以环的宽度比率来表示内环的半径
(3)android:thickness 尺寸,环的厚度
(4)android:thicknessRatio 浮点型,以环的宽度比率来表示环的厚度,例如,如果android:thicknessRatio=“2”,那么环的厚度就等于环的宽度除以2。这个值是可以被android:thickness覆盖的,默认值是3.

2.圆角属性设置

android:radius 整型 半径
android:topLeftRadius 整型 左上角半径
android:topRightRadius 整型 右上角半径
android:bottomLeftRadius 整型 左下角半径

 

3.内部颜色的填充

android:color 颜色值 填充颜色


4.渐变色设置

(1)android:startColor 颜色值 起始颜色
(2)android:endColor 颜色值 结束颜色
(3)android:centerColor 整型 渐变中间颜色,即开始颜色与结束颜色之间的颜色
(4)android:angle 整型 渐变角度(PS:当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle必须为45的整数倍)
(5)android:type [“linear” | “radial” | “sweep”] 渐变类型(取值:linear、radial、sweep); linear 线性渐变,这是默认设置;radial 放射性渐变,以开始色为中心。sweep 扫描线式的渐变。
(6)android:useLevel [“true” | “false”] 如果要使用LevelListDrawable对象,就要设置为true。设置为true无渐变。false有渐变色
(7)android:gradientRadius 整型 渐变色半径.当 android:type=“radial” 时才使用。单独使用 android:type="radial"会报错。
(8)android:centerX 整型 渐变中心X点坐标的相对位置
(9)android:centerY 整型 渐变中心Y点坐标的相对位置


5.内边距的设置,即比如文字跟边的距离

android:left 整型 左内边距
android:top 整型 上内边距
android:right 整型 右内边距
android:bottom 整型 下内边距

  

6.尺寸大小(就是这个我们自己的样式框大小)

size 大小
android:width 整型 宽度
android:height 整型 高度


7.描边的设置,就是我们样式的边框

android:width 整型 描边的宽度
android:color 颜色值 描边的颜色
android:dashWidth 整型 表示描边的样式是虚线的宽度, 值为0时,表示为实线。值大于0则为虚线。
android:dashGap 整型 表示描边为虚线时,虚线之间的间隔 即“ - - - - ”

 

好了,shape的内容大概是这么多,楼主参考了比较多的shape使用文章才进行了这一次的汇总,希望对大家有帮助。

你可能感兴趣的:(Android)