setClickable 和 setEnabled 的用法

Android setEnabled 方法深度解析:交互控制的艺术与实践 setEnabled是 Android 开发中用于控制控件是否可以被用户交互的方法。请注意,setEnabled方法只影响控件的可用性,而不会影响其可见性。如果你希望隐藏一个控件,你应该使用方法。同时,你也可以结合使用setEnabled和方法,以更灵活地控制控件的行为和外观。 阅读详情

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.
 */
@RemotableViewMethod
public 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来说,控件也会变灰,且不可输入文字。




小程序 英语朗读器源码.rar 免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。 立即下载

相关推荐

单细胞基因可视化之热图的根本改造2

我们前面已经说过了单细胞marker/或者其他任意基因的热图的简单修饰(单细胞基因可视化之热图改造修饰1),仅仅是基于颜色和DoHeatmap函数的参数修饰。那么要对热图进行根本的改造,关键点在于提取表达矩阵,然后对分组进行注释,就可以使用heatmap或者ComplexHeatmap来做图了。 首先计算marker基因,然后选择自己需要展示的基因。 library(Seurat) library(stringr) library(dplyr) all.markers <- Find

qq_42090739的博客 6675

setEnabled() 和 setClickable()

都可以做到按钮是否可以点击 setClickable():设置成true时,按钮为可点击, 设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为true,那么按钮即使不可点击(setClickable()为false),也会产生变化(一闪一闪)。 setEnabled():为false,该控件将不再响应点击、触摸以及键盘事件等,处于完全被禁用的状态,...

XueQiYa的博客 1765

Ollama安装教程

Ollama 是一个开源的大语言模型(LLM)部署工具,专为在本地机器部署和运行大模型而设计,通过简单的命令就可以在本地快速运行大模型(如DeepSeek、Llama、Gemma、QWQ等)。非常适合开发者、研究人员以及对数据安全和隐私有较高要求的企业和用户

学习AI应用开发,分享AI干货、获取最新AI咨询 3845

setEnabled() 和 setClickable() 的区别

工作中有时候经常会遇到控制按钮是否可点击的时候,setEnabled() 和 setClickable() 都可以做到,只要将它们设置成false ,按钮就不可点击,设置成true,按钮就可以点击。        它们的区别在于:        setClickable():设置成true时,按钮为可点击,设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为

敕勒歌的博客 2万+

Circos在Windows下的安装教程

这里写自定义目录标题Circos简介安装Perl 的安装Circos安装安装及解压安装Modules测试用例官方文档 Circos简介 (来源官网:http://circos.ca/software/readme/ O.INTRODUCTION部分) Circos is a program for the generation of publication-quality, circularly composited renditions of genomic data and related annot

qq_42318911的博客 1660

ESP32+LED12864液晶屏实战:手把手教你显示中文与自定义图标(附完整代码)

本文详细介绍了如何使用ESP32单片机驱动带字库的LED12864液晶屏,实现中文显示与自定义图标。从硬件选型、接线方案到驱动编写、字库解析,提供了完整的实战代码与优化技巧,并最终构建了一个智能家居控制面板的完整示例项目。

weixin_29212867的博客 144

setClickable 和setEnable 的区别

setClickable()是设置控件点击无效,但是可以点击,颜色不会变灰色。而使用他时 setClickable(false)方法一定要放在setOnClickListener()方法之后。setClickable(false)和setEnable(false)笼统的都是禁止点击的意思。setEnable(false)将孔家能完全禁用,颜色会变灰色。

cjz0422的博客 667

【AI智能体】基于Coze 制作高质量PPT实战操作详解

基于Coze 制作高质量PPT实战操作详解

congge 6099

详解:setEnabled / setClickable / setFocusable 的用法 及 相关性

setEnabled(boolean bool) 设置当前控件是否被激活,是否可用 bool 为 true 时 ,表明该控件被激活,控件处于”活动状态“,能够响应或触发各种事件了,比如触摸、点击、按键等; bool 为 false 时 ,则表明该控件没有被激活 ,控件永远不会”活动“,不管为他设置什么UI 属性,都无效果; 重点注意:setEnabled(bool

Jon.Lo 的专栏 7679

C#实战:从零搭建Vosk离线语音转文字系统

本文手把手教你用C#构建离线语音转文字系统,基于NAudio和Vosk实现全流程开发。首先介绍环境搭建,包括NuGet包安装和中文模型配置,强调16kHz单声道音频格式的关键性。接着详细解析音频预处理转换、Vosk模型初始化及识别过程的核心代码,提供多线程优化建议和实时识别扩展思路。文章包含80%以上代码注释,从常见问题排查到性能优化技巧,完整覆盖从"Hello World"到工业级部署的关键技术点,特别适合需要开发本地化语音识别应用的C#开发者。

墨夶的博客 752

用Excel或WPS做两独立样本的T检验

一般情况下收集数据时常用的是Excel或者WPS,但统计时却用SPSS等软件进行统计学分析,经常很多人找不到SPSS的安装包,或者苦于正版激活或忘记教程,其实Excel或WPS自带函数就足够了,均数、标准差以及统计检验都是一个函数而已。解释:先做F检验,如果F>0.05就做T检验,Ttset里的数据为两组的数据的比较,结果如下。A组的均数计算 =AVERAGE(B2:B6)A组的标准差计算 =STDEV(B2:B6)B组的标准差计算=STDEV(B7:B19)分组 数值 A组均数 A组标准差 p值。

Mrrunsen的博客 6751

setFocusable、setEnabled、setClickable区别

setClickable  设置为true时,表明控件可以点击,如果为false,就不能点击;“点击”适用于鼠标、键盘按键、遥控器等; 注意,setOnClickListener方法会默认把控件的setClickable设置为true。 setEnabled  使能控件,如果设置为false,该控件永远不会活动,不管设置为什么属性,都无效; 设置为true,表明激活该控件,控件处于活动状

bsddcxn的博客 382

RK3568 linux-5.10 rk809 声卡实现spk hp自动切换

RK3568 linux-5.10 rk809 声卡实现spk hp自动切换

目前从事linux驱动开发,多交流多学习吧 1093

View的 setClickable() 和 setEnabled()

1. 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 ...

Sindyue的博客 1606

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android View方法setClickable,setEnabled,setFocusable的含义及区别

View方法setClickable,setEnabled,setFocusable的含义及区别 setClickable设置为true时,表明控件是否可以点击,设置为false时候,控件无法被点击; 注意,setOnClickListener方法会默认把控件的setClickable设置为true。setEnabled使能控件,如果设置为false,该控件永远不...

赵星海 2540

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

关于安卓View的setEnabled和setClickable的思考

我们讲结合setOnClickListener和setOnTouchListener以及setEnabled和setClickable的相互影响。以及View遮盖是否能穿透事件进行分析阐述。首先我们搞一个布局:<?xml version="1.0" encoding="utf-8"?> <com.example.airy.click.R1 android:id="@+id/r1" x

AndroidMsky的博客 6968

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

QT之QPushButton中setEnabled() 和 setClickable() 的应用

在使用QT与Opencv联调时,会经常遇到判断图像数据是否被读取,之后相应的PushButton等按键才能进行处理! 这时,就需要使用setEnabled() 和 setClickable()等函数。 if(image.data) { ui->saltButton->setEnabled(true);...

weixin_30478619的博客 4031

Android开发 屏蔽Button setClickable和setEnabled

Android开发 屏蔽Button setClickable和setEnabled

hhduyc的博客 306

qt -- setEnabled() 、 setClickable()

一、setEnabled(bool) true:可编辑,激活按钮,可以触发事件 false:不可编辑状态 ,无论是否可点击(即使将setClickable()设置成true), 都无法响应任何触发事件 二、setClickable(bool) true: 按钮可点击 false:按钮不可点击 ...

ccr的博客 6129

android 控件的setClickable、setEnabled 、setFocusable

setClickable setClickable 设置为true时,表明控件可以点击,如果为false,就不能点击;“点击”适用于鼠标、键盘按键、遥控器等; 注意,setOnClickListener方法会默认把控件的setClickable设置为true。 setEnabled setEnabled 使能控件,如果设置为false,该控件永远不会活动,不管设置为什么属性,都无效

二锅头爱拉菲 1044

setClickable,setEnabled,setFocusable 的区别

setClickable,setEnabled,setFocusable 的区别

丿灬安之若死 3062
上一篇: Android 跳转至需要登录的页面
下一篇: 正则表达式 "^+$"等符号意义
十三月我就忘记你了
博客等级 码龄10年 4粉丝 5原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值