android 为控件增加选中状态
2017-10-18 15:47
253 查看
1. implements
Checkable 接口
接口 提供了 三个方法
// android 选中状态的 标识
// 必选要drawable 在xml 有选中状态的图片 才有效果
Checkable 接口
接口 提供了 三个方法
void setChecked(boolean checked); 设置选中 boolean isChecked(); 是否选中 void toggle(); 开关
// android 选中状态的 标识
private static final int[] CHECKED_STATE_SET = { android.R.attr.state_checked };
@Override protected int[] onCreateDrawableState(int extraSpace) { final int[] drawableState = super.onCreateDrawableState(extraSpace + 1); 增加1个状态 if (isChecked()) { mergeDrawableStates(drawableState, CHECKED_STATE_SET);//增加一个状态 } return drawableState; }
@Override public void setChecked(boolean b) {
if(this.isCheck != b){
this.isCheck = b;
refreshDrawableState(); //关键。根据状态 刷新drawable
}
}
@Override public boolean isChecked() { return isCheck; }
@Override public void toggle() { setChecked(!isCheck); }
// 必选要drawable 在xml 有选中状态的图片 才有效果
相关文章推荐
- Android-接受来自Appwidget的广播、更新Appwidget控件的状态
- 选中Tab控件单击事件,点击tab头,定位到导航栏的选项,为选中状态 ,DevExpress.XtraNavBar.NavBarControl 导航控件定位或选中状态 另导航的选项为选中状态.
- Android中ListView数据不止一页,滑动后CheckBox丢失选中状态
- 设置ListView的选中状态:android:state_activated="true"
- android selector 简介(通过判断控件的不同状态为其添加背景等操作)
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- 修改工具栏图标&得到CTreeCtrl控件item的状态为始终为未选中(unchecked)
- android listview选中某一行,成选中状态颜色高亮显示,ListView的UI显示中常见问题及解决办法
- 【Android】在控件、视图绘制或改变之后如何获取其部分状态和属性(比如高、宽、TextView绘制后的文字行数等)
- 详解Android控件状态依赖框架
- Xamarin.Android之Picker控件关闭可编辑状态
- android ListView控件 去上下滑动阴影 选中背景黄色
- android 自定义 radiobutton 文字颜色随选中状态而改变
- Android 编程笔记 select的使用,Button的三种状态(未点击,点击,选中保持状态)
- 【Android 开发】:UI控件之开关状态按钮 ToggleButton 的使用方法
- Android控件状态依赖框架
- android中gridView中点击 item为选中状态
- Android开发之接受来自Appwidget的广播、更新Appwidget控件的状态
- iOS开发-UI控件:代码取消UITableViewCell选中状态
- android 控件不同状态 selector----drawable