Android开发 屏蔽Button setClickable和setEnabled

今天想让按键暂时无效,满足一定条件下才可以被用户按到。最初以为是setClickable,谁知搞错了。

请看手册:

[java] view plain copy
 print?
  1. public void setClickable (boolean clickable)  
  2.   
  3. Since: API Level 14  
  4. Sets whether this node is clickable.  
  5.   
  6. Note: Cannot be called from an AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.  
  7.   
  8. Parameters  
  9. clickable   True if the node is clickable.  
  10. Throws  
  11. IllegalStateException   If called from an AccessibilityService.  
  12. public void setContentDescription (CharSequence contentDescr  

这个函数的意思是让按键按一下。比如弄一个定时器,然后在手机上模拟,多长时间到了让按键自己按一下,而不是手动去按,可以用这个函数。


view的setclickable()函数里面说明了。
Enables or disables click events for this view. When a view is clickable it will change its state to "pressed" on every click. Subclasses should set the view clickable to visually react to user's clicks.
很清楚,写的是使点击事件可用不可用的,你设置了setclickable(false),只是click事件被屏蔽了,longclick仍然有效的。
而setenable(false)会使所有事件不可用,包括longclick等。

 

[java] view plain copy
 print?
  1. public void setEnabled (boolean enabled)  
  2.   
  3. Since: API Level 14  
  4. Sets whether this node is enabled.  
  5.   
  6. Note: Cannot be called from an AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.  
  7.   
  8. Parameters  
  9. enabled True if the node is enabled.  
  10. Throws  
  11. IllegalStateException   If called from an AccessibilityService.  

这个函数才是真正的,让一个按键可以被用户按,或者不可按。如果设为false,按键则会变成灰色的,按上去也没反应。当设为true后,才会正常使用。这正是我找的函数。


http://blog.csdn.net/yanzi1225627/article/details/7973901

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值