shape简单使用


在这里创建xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#99CCFF" />   
    <corners android:topLeftRadius="20dp"
        android:topRightRadius="20dp" 
        android:bottomRightRadius="20dp" 
        android:bottomLeftRadius="20dp"/>
    <stroke android:width="1dp" android:color="#000000" />
</shape>

在这里使用

在shape中有几个属性rectangle、oval、line、ring

1.环形ring

在shape标签中把shape属性设置为ring类型
然后在shape标签中设置以下属性(这些属性只能在shape值为ring是使用)
android:innerRadius       内环的半径,尺寸单位是dp(不设置这个参数,会有个默认值)
android:thickness           环的宽度,尺寸单位是dp(一定要设置的参数)
android:useLevel            boolean值,如果当做是LevelListDrawable使用时值为true,否则为false. (这条属性一定要设置,不然看不见效果,暂时先设置为false)

android:innerRadiusRatio    浮点型,以环的宽度比率来表示内环的半径。默认是9,就是环的宽度乘以9再除以2就是内环半径的长度
android:thickne***atio      浮点型,以环的宽度比率来表示环的厚度。

2.椭圆oval

可以通过子标签size设置椭圆大小,当宽和高相等时就是圆。一般也不再子标签size中设置宽高,而是设置控件的宽高。

3.矩形rectangle

可以通过子标签size标签设置矩形大小,当宽和高相等时就是正方形。一般也不再子标签size中设置宽高,而是设置控件的宽高。
在shape没有指定时,默认就是矩形

4.直线line

可以画一条直线,也可以画一条虚线    

在shape的子标签中有gradient、corners、padding、size、solid、stroke

1.描形状的线stroke

android:width="dimension"   线的粗细
android:color="color"            线的颜色
// 以下两个属性是设置虚线时使用,实线不设置这两个属性
android:dashWidth="dimension"       每节虚线的长度
android:dashGap="dimension"          每节虚线直接的间隙宽度

注:在画ring,line时这个属性必须设置,在画oval,rectangle时需要描边就设置,不需要就不设置

2.填充颜色solid

android:color="color"   需要填充形状内部颜色时使用这个属性

注:在画line时不要设置这个属性,在画ring,oval,rectangle是需要实心就设置,需要空心就不设置

3.设置图片大小size

android:width="dimension"          设置宽度
android:height="dimension"         设置高度

注:在画oval时宽高相等就是圆形,在画rectangle是宽高相等就是正方形,不过一般不在这里设置,基本在控件设置宽高

4.内边距padding

android:left="dimension"      设置左内边距
android:top="dimension"            设置上内边距
android:right="dimension"        设置右内边距
android:bottom="dimension"        设置下内边距

注:一般不用设置这个属性

5.圆角corners

android:radius="dimension"            全部的圆角半径
//上面全部都圆角,和下面四个属性不共存,要么全部都圆角,要么根据下面属性给每个角设置
android:topLeftRadius="dimension"     左上角的圆角半径    
android:topRightRadius="dimension"    右上角的圆角半径    
android:bottomLeftRadius="dimension"  左下角的圆角半径    
android:bottomRightRadius="dimension" 右下角的圆角半径

注:圆角一般是在rectangle情况下使用

6.渐变色gradient

   android:type=["linear" | "radial" | "sweep"]    共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
  android:startColor="color"       渐变开始点的颜色    
  android:centerColor="color"      渐变中间点的颜色,在开始与结束点之间    
  android:endColor="color"         渐变结束点的颜色
  android:angle="integer"              渐变角度,必须为45的倍数,0为从左到右,90为从上到下
  android:gradientRadius="float"   渐变的半径,只有当渐变类型为radial时才能使用
  android:centerX="float"          渐变中心X的相当位置,范围为01,从左到右,默认0.5
  android:centerY="float"          渐变中心Y的相当位置,范围为01,从上到下,默认0.5
  android:useLevel="boolean"       使用LevelListDrawable时就要设置为true。设为false时才有渐变效果
注:当类型type为linear时,angle属性才有效;当类型type为radial时,gradientRadius属性必须设置;当类型type为sweep时,centerX和centerY属性才有效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值