Android中shape的子标签以及本身属性-总结

随声附和 提交于 2019-12-03 00:59:40

shape简单使用

简介

  1. 从其名字可以理解,shape就是形状嘛。
  2. 至于怎么理解shape可以参照图片,我可以加载一个图片作为我的background,那么同理我也可以加载一个shape作为background
  3. 有何区别呢?用代码写的shape要比直接加载png或.9文件占用更少的内存,性能更好

简单案例:

<?xml version="1.0" encoding="utf-8"?>

然后在相应的控件中指定background即可。

shape子标签

corners — 中文翻译成角落,可以理解成圆角

其中又有:

  • radius 所有圆角半径
  • toLeftRadius
  • toRightRadius
  • bottomLeftRadius
  • bottomRightRadis

gradient

用来定义渐变色的,可以定义两色渐变和三色渐变,以及渐变样式,属性有:

  • type:linear, radial,sweep,分别为线性(左到右直线渐变)、放射(中心为放射点)、扫描(雷达扫描~)渐变
  • angle:渐变角度,必须为45的倍数,0为从左到右 90为从上到下 仅对线性渐变有效
    以下三个是通用的:
  • startColor 渐变开始点的颜色
  • centerColor 渐变中点的颜色,在开始与结束中间
  • endColor 渐变结束点的颜色
    以下三个是仅用于放射渐变:
  • centerX 渐变中心点X的相对位置,范围为0-1 仅用于放射类型
  • centerY 同上 同样仅同于放射类型两者的选取其实就是宽和高的百分比
  • gradientRadius 渐变的半径,只有当渐变类型为radial时才可使用,且只有设置了该属性,radial渐变才有效
  • useLevel true or false使用LevelListDrawable时要设置为true,通常不用,默认值为false

padding

定义内部边距

  • left
  • top
  • right
  • bottom

size

基本不怎么用,因为控件本身也具有定义size的功能。 其用来定义图形的大小

  • width
  • height

solid — 中文翻译成固体的、结实的,可以理解成填充

只有一个属性:

  • color

stroke — 中文翻译为划、轻抚,可以理解成描边

是描边属性,可以定义描边的宽度,颜色,虚实线等

  • width 描边的宽度
  • color 描边的颜色
    以下两个用于设置虚线
  • dashWidth 虚线的宽度,值为0时是实线
  • dashGap 虚线的间隔

Shape的本身属性

上面讲的是shape子标签,现在讲shape本身的属性

  • shape: shape本身的形状,有rectangle、oval、line、ring。分别是矩形(默认值),椭圆形,线性,环形
  • rectangle的属性:
    • 首先,ractangle是默认值
    • 其没有额外的属性
  • oval的属性:
    • 其表示控件大小的矩形所对应的椭圆
  • line
    • 用处好像不大
  • ring的属性:
    • innerRadius 内环的半径
    • innerRadiusRatio 浮点,以环的宽度比率来表示内环的半径
    • thickness 环的厚度
    • thicknessRatio 以环的宽度比率来表示环的厚度
    • useLevel 不常用
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!