您的位置:首页 > 移动开发 > Android开发

【转】java代码中实现android背景选择的selector-StateListDrawable的应用

2016-04-03 22:02 381 查看
原文网址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0924/1712.html

下面的代码应该很多人都熟悉:

这是一个给button使用的背景选择,这种不同状态显示不同背景的xml文件我们称为selector。其实selector的本质是一个drawable对象。

如果要用java代码实现上述的selector该如何实现呢?答案是StateListDrawable。

我们先看一个实现StateListDrawable的最简单例子:

这段代码中我们添加了三种状态。

下面我们用更规范的代码来演示如何在java中使用StateListDrawable,以及她对应的xml写法:

首先定义一个获得StateListDrawable对象的方法:

其中,就如注释中所讲的
addState
的顺序相当重要。

使用
ddStateDrawable


xml方式实现:

下面对应的具体实例,由于是做背景用,该xml将放于/res/drawable下面(StateList中第一个匹配当前状态的item会被使用。因此,如果第一个item没有任何状态特性的话,那么它将每次都被使用,这也是为什么默认的值必须总是在最后)

selector的定义:

使用selector

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: