在android Button的xml文件属性中有这麽一个属性标签:

[html] view plaincopyprint?
  1. android:clickable

该标签(继承自View的xml属性)的值必须是boolean值,即true、false。该标签目的是设置button是否可以被点击。

于是,我Demo一把,xml文件如下:

[html] view plaincopyprint?
  1. <Button
  2. android:id="@+id/btn_to"
  3. android:clickable="true"
  4. android:layout_width="fill_parent"
  5. android:layout_height="wrap_content"
  6. android:text="to"
  7. />

不好意思,运行之后,该Button一如既往的好使,并没有“不可点击”。搞不明白、、、、

在 android 中几乎每一个xml属性,对应的都有一个方法,于是我改用下面的方法:

[java] view plaincopyprint?
  1. setClickable();

心里想,这次应该可以了,示意代码:

[java] view plaincopyprint?
  1. btn_to.setClickable(false);
  2. btn_to.setOnClickListener(new Button.OnClickListener() {
  3. @Override
  4. public void onClick(View v) {
  5. // to do
  6. }
  7. });

再次运行,还是不行!没办法,看源码吧!

我们知道,点击 button 会触发下面的源码(View.java):

[java] view plaincopyprint?
  1. public void setOnClickListener(OnClickListener l) {
  2. if (!isClickable()) {
  3. setClickable(true);
  4. }
  5. mOnClickListener = l;
  6. }

呵呵,你会明白,只要点击button都会将setClickable设置为true,所以在setOnClickListener之前setClickable设置为false只不过是多此一举!

那么,解决办法就出来了,调换一下代码的位置即可:

[java] view plaincopyprint?
  1. btn_to.setOnClickListener(new Button.OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. // to do
  5. }
  6. });
  7. btn_to.setClickable(false);

这样,你再次点击button试一试,呵呵,它无动于衷了吧!

yes,搞定!

  1. android:clickable

在android Button的xml文件属性中有这麽一个属性标签:

[html] view plaincopyprint?
  1. android:clickable

该标签(继承自View的xml属性)的值必须是boolean值,即true、false。该标签目的是设置button是否可以被点击。

于是,我Demo一把,xml文件如下:

[html] view plaincopyprint?
  1. <Button
  2. android:id="@+id/btn_to"
  3. android:clickable="true"
  4. android:layout_width="fill_parent"
  5. android:layout_height="wrap_content"
  6. android:text="to"
  7. />

不好意思,运行之后,该Button一如既往的好使,并没有“不可点击”。搞不明白、、、、

在 android 中几乎每一个xml属性,对应的都有一个方法,于是我改用下面的方法:

[java] view plaincopyprint?
  1. setClickable();

心里想,这次应该可以了,示意代码:

[java] view plaincopyprint?
  1. btn_to.setClickable(false);
  2. btn_to.setOnClickListener(new Button.OnClickListener() {
  3. @Override
  4. public void onClick(View v) {
  5. // to do
  6. }
  7. });

再次运行,还是不行!没办法,看源码吧!

我们知道,点击 button 会触发下面的源码(View.java):

[java] view plaincopyprint?
  1. public void setOnClickListener(OnClickListener l) {
  2. if (!isClickable()) {
  3. setClickable(true);
  4. }
  5. mOnClickListener = l;
  6. }

呵呵,你会明白,只要点击button都会将setClickable设置为true,所以在setOnClickListener之前setClickable设置为false只不过是多此一举!

那么,解决办法就出来了,调换一下代码的位置即可:

[java] view plaincopyprint?
  1. btn_to.setOnClickListener(new Button.OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. // to do
  5. }
  6. });
  7. btn_to.setClickable(false);

这样,你再次点击button试一试,呵呵,它无动于衷了吧!

yes,搞定!

在android Button的xml文件属性中有这麽一个属性标签:

[html] view plaincopyprint?
  1. android:clickable

该标签(继承自View的xml属性)的值必须是boolean值,即true、false。该标签目的是设置button是否可以被点击。

于是,我Demo一把,xml文件如下:

[html] view plaincopyprint?
  1. <Button
  2. android:id="@+id/btn_to"
  3. android:clickable="true"
  4. android:layout_width="fill_parent"
  5. android:layout_height="wrap_content"
  6. android:text="to"
  7. />

不好意思,运行之后,该Button一如既往的好使,并没有“不可点击”。搞不明白、、、、

在 android 中几乎每一个xml属性,对应的都有一个方法,于是我改用下面的方法:

[java] view plaincopyprint?
  1. setClickable();

心里想,这次应该可以了,示意代码:

[java] view plaincopyprint?
  1. btn_to.setClickable(false);
  2. btn_to.setOnClickListener(new Button.OnClickListener() {
  3. @Override
  4. public void onClick(View v) {
  5. // to do
  6. }
  7. });

再次运行,还是不行!没办法,看源码吧!

我们知道,点击 button 会触发下面的源码(View.java):

[java] view plaincopyprint?
  1. public void setOnClickListener(OnClickListener l) {
  2. if (!isClickable()) {
  3. setClickable(true);
  4. }
  5. mOnClickListener = l;
  6. }

呵呵,你会明白,只要点击button都会将setClickable设置为true,所以在setOnClickListener之前setClickable设置为false只不过是多此一举!

那么,解决办法就出来了,调换一下代码的位置即可:

[java] view plaincopyprint?
  1. btn_to.setOnClickListener(new Button.OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. // to do
  5. }
  6. });
  7. btn_to.setClickable(false);

这样,你再次点击button试一试,呵呵,它无动于衷了吧!

yes,搞定!

Androidz之clickable相关推荐

  1. Androidz之Activity概要学习

    Androidz之Activity概要学习 1.     Activity类概述 Activity(活动)是一个单独的.能获取焦点的,且能与用户交互的东西.所以我们通常在Activity类中的onCr ...

  2. button-xml 中android:clickable=false 属性

    今天在做项目的时候,遇到了一个问题,就是需要把一个常按监听事件,加到一个linearlayout中,但是,这个linearlayout中有其他的button.textview等控件,这样就导致当我们常 ...

  3. Pressed状态和clickable,duplicateParentState的关系

    做Android开发的人都用过Selector,可以方便的实现View在不同状态下的背景.不过,相信大部分开发者遇到过和我一样的问题,本文会从源码角度,解释这些问题. 首先,这里简单描述一下,我遇到的 ...

  4. android imageview 事件传递,Android 事件传递机制TextView,ImageView等没有默认clickable属性的View单独设置onTouch事件注意事项...

    本文讲解TextView,ImageView等没有默认clickable属性的View单独设置onTouch事件 Android 事件传递机制:Android 事件传递机制初涉 我们知道 Button ...

  5. CodeLab:Android fundamentals04.1:Clickable images

    Android fundamentals 04.1:Clickable images Tutorial source : Google CodeLab Date : 2021/04/06 Comple ...

  6. selenium Element is not clickable because another element obscures it — 点击被页面上其他元素遮住的控件,亲试有效!!!

    点击被页面上其他元素遮住的控件 使用WebDriver点击界面上Button元素时,如果当前Button元素被界面上其他元素遮住了, 或没出现在界面中(比如Button在页面底部,但是屏幕只能显示页面 ...

  7. ionic4中使用Swiper触屏滑动--技术

    这个demo只有HTML的内容,但我要在ionic4上使用,所以就把它修改后用在ionic上! 原文件 <!DOCTYPE html> <html lang="en&quo ...

  8. View的Touch事件分发(二.源码分析)

    Android中Touch事件的分发又分为View和ViewGroup的事件分发,先来看简单的View的touch事件分发. 主要分析View的dispatchTouchEvent()方法和onTou ...

  9. Android CheckBox 点击的时候没有效果

    写了一个CheckBox 点击的时候没有效果 感觉莫名其妙的,最后在xml 中设置了 android:clickable="true" 点击有效果了, 见鬼了.

最新文章

  1. JS获取当月每天的日期,JS获取本周每天的日期
  2. mysql事务隔离级别与设置
  3. 2016年12月20日感想
  4. 多线程的那点儿事(之自旋锁)
  5. Windwos Server 2008 R2 DHCP服务
  6. 简体,繁体中文互转类
  7. excel查找空值快捷键_『EXCEL定位条件快捷键』excel定位空值填充
  8. HART协议命令与UART串口解析
  9. html动态生成表格源码,JavaScript动态生成表格的示例
  10. 黑马程序员—我的面试,我的学习,我的经历
  11. decorview、window、dialog关系详解
  12. 纹波测试方法(收集整理)
  13. ppm调制matlab程序,求助:谁能帮我编写一个4ppm的解调程序 谢谢了
  14. 测试方法介绍-计算模型复杂度(GMac)、模型大小(M)、计算速度(FPS)
  15. 【eCPRI】(1)基本概念
  16. Unity 场景切换间的内存清理
  17. 宏转录组方法_Cell:基因表达的改变和群落的更替塑造了全球海洋宏转录组
  18. 用python可以免费下载音乐吗-使用python实现下载我们想听的歌曲,速度超快
  19. [ 生活 ] 我有一个想法!
  20. 一小时构建 IoT 音视频应用,声网发布灵隼物联网云平台

热门文章

  1. .Net Core with 微服务 - Consul 注册中心
  2. 如何在 C#9 中使用 static 匿名函数
  3. 程序员过关斩将--领导说我的类的职责不单一
  4. 为什么我们总是「习惯性辩解」?
  5. 大数据常用数据库汇总
  6. 【实战 Ids4】║ 又一个项目迁移完成(MVC)
  7. Serverless那么火,2019年的采用如何?
  8. Stack Overflow引入CROKAGE,搜问题不用再东拼西凑
  9. DDD战略设计相关核心概念的理解
  10. .NET Core 使用MailKit发送电子邮件