setClickable 和 setEnabled 的用法
来源:互联网 发布:跳蛋淘宝 编辑:程序博客网 时间:2024/05/29 03:22
1、Clickable的用法总结:
当控件需要设置点击事件,并且要在某一环境下响应点击事件时,setClickable一定要放在按扭的setOnClickListener事件之后,因为setOnClickListener事件会去重新设置setClickable为TRUE!
所以一定要写成:
Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(this);
//初始化设置button不可点击
btn.setClickable(false);
原因看源码:
因此在布局文件中设置Clickable为false,在代码中设置点击监听后,设置的该属性是不起作用的。
2、setEnabled的用法:
源码如下:
/** * Set the enabled state of this view. The interpretation of the enabled * state varies by subclass. * * @param enabled True if this view is enabled, false otherwise. */@RemotableViewMethodpublic void setEnabled(boolean enabled) { if (enabled == isEnabled()) return; setFlags(enabled ? ENABLED : DISABLED, ENABLED_MASK); /* * The View most likely has to change its appearance, so refresh * the drawable state. */ refreshDrawableState(); // Invalidate too, since the default behavior for views is to be // be drawn at 50% alpha rather than to change the drawable. invalidate(true); if (!enabled) { cancelPendingInputEvents(); }}
setEnabled为false,该控件将不再响应点击、触摸以及键盘事件等,处于完全被禁用的状态,并且该控件会被重绘。对于Button来说,设置为false,控件会变灰不可点击。对于EditText来说,控件也会变灰,且不可输入文字。
0 0
- setClickable 和 setEnabled 的用法
- setEnabled() 和 setClickable() 的区别
- button的setClickable 和 setEnabled 区别
- 详解:setEnabled / setClickable / setFocusable 的用法 及 相关性
- 屏蔽Button setClickable和setEnabled
- setClickable,setEnabled,setFocusable 的区别
- 关于安卓View的setEnabled和setClickable的思考
- 菜鸟的安卓实习之路---- setClickable和setEnabled
- Android开发 屏蔽Button setClickable和setEnabled
- Android开发 屏蔽Button setClickable和setEnabled
- Android开发 屏蔽Button setClickable和setEnabled
- android 控件的setClickable、setEnabled 、setFocusable
- setEnabled() vs setClickable()
- setFocusable、setEnabled、setClickable区别
- setFocusable、setEnabled、setClickable区别
- android setClickable setEnabled setFocusable
- setFocusable , setEnabled ,setClickable 区别
- setFocusable、setEnabled、setClickable区别
- JAVA写入XML文件
- Error:(1, 0) Plugin with id 'com.android.application' not found. 解决方案
- 打印机脱机问题
- android中drawable中下的selected和checked等中区别
- Spring4 的一些注解使用示例
- setClickable 和 setEnabled 的用法
- LeetCode 423. Reconstruct Original Digits from English 解题报告
- Git使用教程
- 数据结构示例之杨辉三角形
- 编译openssl
- 第九周 项目2-对称矩阵压缩存储的实现与应用(1)
- 从零开始学C++之类与对象:类声明、类作用域、前向声明、this指针、嵌套类、PIMPL 技法 等
- Android onActivityResult不执行
- 涂涂乐的详细实现之四--unity3d调用EmguCV实现图片识别