shape&selector

应邀前来写这篇文章,此时的我正在回长沙的高铁上,2016年最后诸多不顺,希望2017年能改运,红红火火~~~~
好了,闲话不多说了,下面介绍一下,通过本篇文章你将学到如下知识点

shape的各属性效果以及使用方式
layer-list (shape复杂化叠加使用)组合使用
selector 的常规使用方式

1.shape
顾名思义,shape就是用于定义形状的,他能定义四种形状:矩形,椭圆形,直线,环形。下面统一讲解一下常用的属性,之后附上不同属性对应下的项目效果。
shape内属性有 android:shape=“”,该值有四个,也就是上面提到的四种形状

rectangle:矩形,缺省值,其中包括常用的效果有 直角矩形,圆角矩形
oval:椭圆形,常用于绘制圆形
line:直线,常用于绘制实线和虚线 
ring:环形,常用于绘制环形进度条的效果

shape子标签:

solid 设置形状填充属性
padding  设置内容区域与边界间隙
corners 设置圆角属性,只有rectangle的情况下能用
stroke 描边属性
size 表示该shape图形的大小

solid内属性只有 android:color=“”,该值设置形状的颜色
padding内属性有

android:top=“”  顶部间距
android:right=“”  右边间距
android:bottom=“” 底部间距
android:left=“” 左边间距

corners内属性有

android:radius=“” 四个圆角的圆角半径   下面四个特需属性都会将本属性覆盖
android:topLeftRadius=“” 左上角圆角半径
android:topRightRadius=“” 右上角圆角半径
android:bottomLeftRadius=“” 左下角圆角半径
android:bottomRightRadius=“” 右下角圆角半径 

stroke 内属性有

android:width=“” 描边宽度
android:color=“” 描边颜色
android:dashGap=“” 当设置虚线时,表示虚线中每段小横线的长度
android:dashWidth=“” 当设置虚线时,表示虚线中横线间隔的距离

size 内属性有

android:width=“” 表示shape的宽度
android:height=“” 表示shape的高度

下面将贴出各种属性下对应的效果,这些是常用的一些属性组合形成的,如有遗漏,大家可以通过不同属性设置达到效果:
这里写图片描述
2.layer-list
layer-list,表示层级的概念,如果你使用过PS软件进行图片制作修改,那么你就能很容易的懂得,层级也就是所有效果的叠加,比如一个shape不能完全实现你的效果,那么可以尝试使用多个shape进行叠加实现,来个形象点的比如就像布局中的帧布局效果。
3.selector
selector表示的是选择器,常用含义为控件在不同状态下所对应的背景或颜色等,常用的如按钮在通常情况是一种颜色,当按下时变成另外一种颜色等,下面详细介绍下其中的属性
selector下所有子标签

item 表示每一种状态条目 一般由一个状态属性和对应结果属性

item下对应属性

结果属性
    android:drawable=“” 背景图片
    android:color=“” 背景颜色
状态属性  true或false
    android:state_window_focused=“” 窗口是否聚焦
    android:state_focused=“” 是否失去焦点
    android:state_pressed=“” 是否被点击
    android:state_selected=“” 是否被选中
    android:state_enabled=“” 是否能响应事件,此处的事件是指所有事件
    android:state_checked=“” 是否被单选选中
    android:state_checkable=“” 单选是否可选状态
    android:state_activity=“” 是否被激活

以上描叙的属性是我们开发中经常使用的,如有其它,请自行了解熟悉。由于该效果需要动态展示,这里就把示例的XML贴出来,大家自己去玩玩就知道了:

欢迎关注公众号

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值