Android selector StateListDrawable的匹配原理
Android selector StateListDrawable的匹配原理
常见的selector xml
1 | <?xml version="1.0" encoding="utf-8"?> |
而对应的Java代码实现为StateListDrawable
1 | StateListDrawable drawable = new StateListDrawable(); |
StateListDrawable的父类为DrawableContainer。就是可以包含很多Drawable的容器。
StateListDrawable是有很多的状态的,每种状态又对应不同的Drawable,那么怎么取出当前的状态呢。
1 | backgroundDrawable.setState(new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed}); |
这样我们就取出来了 enable 状态下按下时的Drawable。