Android 动态创建Drawable selector
来源:互联网 发布:excel数据下拉菜单 编辑:程序博客网 时间:2024/04/29 04:19
创建selector有两种方法,一种是定义xml文件,一种是创建StateListDrawable对象,完全可以用创建StateListDrawable来代替xml,它的好处是可以在程序运行时动态的调整背景颜色或者背景图片。
一.xml创建selector方法如下:
定义一个switch_selector.xml
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/switch_bg_disabled_emui" android:state_enabled="false"/> <item android:drawable="@drawable/switch_bg_on_emui" android:state_pressed="true"/> <item android:drawable="@drawable/switch_bg_on_emui" android:state_focused="true"/> <item android:drawable="@drawable/switch_bg_on_emui" android:state_checked="true"/> <item android:drawable="@drawable/switch_bg_off_emui"/></selector>
在Activity按下面方法使用
Drawable drawable = getResourse().getDrawable(R.drawable.switch_selector);ImageView iv = new ImageView(this);iv.setBackground(drawable);
二.用StateListDrawable来代替xml创建selector:
private StateListDrawable createDrawableSelector(Context context) { Drawable checked = context.getResources().getDrawable(R.drawable.switch_bg_on_emui); Drawable unchecked = context.getResources().getDrawable(R.drawable.switch_bg_off_emui); Drawable disabled = context.getResources().getDrawable(R.drawable.switch_bg_disabled_emui); StateListDrawable stateList = new StateListDrawable(); int statePressed = android.R.attr.state_pressed; int stateChecked = android.R.attr.state_checked; int stateFocused = android.R.attr.state_focused; int stateensable = android.R.attr.state_enabled; stateList.addState(new int[] {-stateensable}, disabled); stateList.addState(new int[] {stateChecked}, checked); stateList.addState(new int[] {statePressed}, checked); stateList.addState(new int[] {stateFocused}, checked); stateList.addState(new int[] {}, unchecked); return stateList; }
其中stateList.addState()表示一个状态对应一个Drawable,在Activity里面按下面方法使用
Drawable drawable = createDrawableSelector(this);ImageView iv = new ImageView(this);iv.setBackground(drawable);
0 0
- Android 动态创建Drawable selector
- android开发:创建动态drawable
- Android开发:创建动态drawable
- android drawable selector
- android selector 自定义 drawable state
- Android drawable selector 设置无效
- 动态创建selector
- Android Studio在drawable文件夹创建xml的shape、selector等文件
- Android UI selector 例子 (drawable/color)
- Android 的drawable state 应用(selector)
- Android自定义Selector类型的drawable资源
- android 控件不同状态 selector----drawable
- Android Drawable Resources系列4:<selector>
- 使用代码动态创建Selector
- android java 代码创建 selector
- Android中动态drawable样式
- Android Textview动态改变drawable
- android drawable下的selector和shape共用结构
- maven私服-详细部署搭建笔记
- HBase架构 http://hbase.apache.org/book.html#_architecture
- 字符串转换成时间格式,并与本时区当前时间,比较大小。
- 完整java开发中JDBC连接数据库代码和步骤
- Vault.com发布2016年咨询公司排行榜
- Android 动态创建Drawable selector
- eclipse快捷键记录
- Oracle dblink创建过程
- 【Android】Log优雅的注释(github开源项目)
- 关于get方式和post方式“安全性”讨论
- 集合容器 概括图
- iOS学习总结----核心动画
- PDFBox 解析PDF文档
- project.pbxproj,最熟悉的”陌生人”