Android shape的应用

Shape

Shepe的创建res->drawable->new->Drawableresource file

形状图形的定义文件以shape元素为根节点。根节点下定义了6个节点:

corners(圆角)

gradien(渐变)

padding(间隔)

size(尺寸)

solid(填充)

stroke(描边)

各节点的属性主要是长宽、半径、角度以及颜色。下面是形状图形各个节点和属性的简单说明

1.   shape

shape是XML文件的根节点,用来描述该形状图形是那种几何图形,下面是shape节点的常用属性说明

*shape : 字符串类型,图形的形状。形状类型的取值说明见下表

形状类型

说明

Rectangle

矩形,默认值

Oval

椭圆,此时corners节点会失效

Line

直线,此时必须设置stroke节点,不然会报错

Ring

圆环

2.   corners

corners是shape的下级节点,用来描述4个圆角的规格定义,若无corners节点,则表示没有圆角。下面是corners节点的常用属性说明

l  bottomLeftRadius 像素类型,左下圆角的半径

l  bottomRightRadius 像素类型,右下圆角的半径

l  topLeftRadius 像素类型,左上圆角的半径

l  topRightRadius 像素类型,右上圆角的半径

l  radius 像素类型,圆角半径(若有上面4个圆角半径的定义,则不需要radius定义)

3.   gradien

gradien是shape的下级节点,用来描述形状内部的颜色渐变定义,若无gradien节点,则表示没有渐变效果,下面是higradien节点的常用属性说明

l  angle 整型,渐变的起始角度,为0时表示始终的9点位置,值增大表示往逆时针方向旋转,

l  type 字符串类型渐变类型,渐变类型的取值说明见下表

渐变类型

说明

Linear

线性渐变,默认值

Radial

放射渐变,起始颜色就是圆心颜色

Sweep

滚动渐变,级一个线段以某个端点为圆心做360度旋转

l  centerX 浮点型,圆心的X坐标,当android:type=”linear”时不可用

l  centerY 浮点型,圆心的Y坐标,当android:type=”linear”时不可用

l  gradientRadius 整型,渐变的半径,当android:type=”linear”时才需要设置该属性

l  centerColor 颜色类型,渐变的中间颜色

l  startColor 颜色类型,渐变的起始颜色

l  endColor 颜色类型,渐变的终止颜色

l  useLevel 布尔类型,设置为true无渐变色,false有渐变色

4.   padding

padding是shape的下级节点,用来描述形状图形与周围视图的间隔大小,若无padding节点,则表示四周不设间隔,下面是padding节点的常用属性说明

l  bottom 像素类型,与下边的间隔

l  left 像素类型,与左边的间隔

l  right 像素类型,与右边的间隔

l  top 像素类型,与上边的间隔

5.   size

size是shape的下级节点,用来描述形状图形的尺寸大小(宽度和高度),若无size节点,则表示宽高自适应,下面是size节点的朝那个用属性说明

l  height 像素类型,图形高度

l  width 像素类型,图形高度

6.   solid

solid是shape的下级节点,用来描述形状图形内部的填充色彩,若无solid加点,则表示无填充颜色,下面是solid节点的常用属性说明

l  color 颜色类型,内部填充的颜色

7.   stroke

stroke是shape的下级节点,用来描述形状图形四周边线的规格定义,若无stroke节点,则表示不存在描边,下面是stroke节点的属性说明

l  color 颜色类型,描边的颜色

l  dashGap 像素类型,每段虚线之间的间隔

l  dashWidth 像素类型,每段虚线的宽度

l  width 像素类型,描边的厚度,若dashGap和dashWidth有一个值为0,则描边为实线

 

 

在实际开发中,常用的有3个节点:corners(圆角)、solid(填充)、stroke(描边),shape根节点的属性一般不用设置(默认矩形就好了),下面是shape图形的XML代码

创建Shepe  res->drawable->new->Drawable resource file –>shape_radius.xml

 

<?xml version="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="1dp"
       android:color="#CB2424"/>
    <corners
       android:bottomLeftRadius="10dp"
       android:bottomRightRadius="10dp"
       android:topLeftRadius="10dp"
       android:topRightRadius="10dp"/>
</shape>

 

定义的shape图形一般作为组件的背景使用:android:background="@drawable/ shape_radius "
 
 
<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    android:background="@drawable/shape_radius"
    android:text="百度(纳斯达克:BIDU),全球最大的中文搜索引擎、最大的中文网站。1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于 2000年1月1日在中关村创建了百度公司。"
    android:textSize="30sp" />

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值