美文网首页
android 代码实现 selector StateListD

android 代码实现 selector StateListD

作者: proud2008 | 来源:发表于2020-08-21 12:54 被阅读0次

分析了解析过程后,其中selector.xml里可以直接用代码实现,比如在自定义View的时候就可以用到。

StateListDrawable stateListDrawable = new StateListDrawable();

    //注意该处的顺序,只要有一个状态与之相配,背景就会被换掉
    //所以不要把大范围放在前面了,如果sd.addState(new[]{},normal)放在第一个的话,就没有什么效果了
    stateListDrawable.addState(new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled}, getDrawable(android.R.attr.state_pressed));
    stateListDrawable.addState(new int[]{-android.R.attr.state_enabled}, getDrawable(-android.R.attr.state_enabled));
    //没有任何状态时显示的图片,就设置空集合,默认状态
    stateListDrawable.addState(new int[]{}, getDrawable(android.R.attr.state_enabled));

其中“-”表示对应的属性为false。

来自链接

相关文章

网友评论

      本文标题:android 代码实现 selector StateListD

      本文链接:https://www.haomeiwen.com/subject/ixxujktx.html