android怎样禁用整个布局点击,Android - 自动禁用布局里的所有子控件
很久没有写博客了,今天给大家分享一个刚写好的小功能,很实用。
使用场景:禁用布局里所有的子控件,让界面只能看,但不能编辑,如果一个一个控件去设置肯定是很麻烦的,于是想了个好方法。可根据需要扩展更多控件,只要注意控件是ViewGroup类型还是View类型就行了。
代码如下:
[java]
/**
* 遍历布局,并禁用所有子控件
*
* @param viewGroup
* 布局对象
*/
public static void disableSubControls(ViewGroup viewGroup) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View v = viewGroup.getChildAt(i);
if (v instanceof ViewGroup) {
if (v instanceof Spinner) {
Spinner spinner = (Spinner) v;
spinner.setClickable(false);
spinner.setEnabled(false);
Log.i(TAG, "A Spinner is unabled");
} else if (v instanceof ListView) {
((ListView) v).setClickable(false);
((ListView) v).setEnabled(false);
Log.i(TAG, "A ListView is unabled");
} else {
disableSubControls((ViewGroup) v);
}
} else if (v instanceof EditText) {
((EditText) v).setEnabled(false);
((EditText) v).setClickable(false);
Log.i(TAG, "A EditText is unabled");
} else if (v instanceof Button) {
((Button) v).setEnabled(false);
Log.i(TAG, "A Button is unabled");
}
}
}
android怎样禁用整个布局点击,Android - 自动禁用布局里的所有子控件相关推荐
- Android 点击事件,如何在界面上或者某个控件上添加点击事件
说到点击事件,第一印象 setOnClickListener() 方法,这也是用的最多的控件点击事件方法,这篇文章不分享这个方法,使用该方法的前提是你要拿到这个控件的 View 才可以调用这个方法 通 ...
- Android入门到精通|安卓/Android开发零基础系列Ⅱ【职坐标】-学习笔记(1)-- 常用控件及资源介绍
前言 为了巩固Android基础知识,回顾一下学习内容,才有此学习笔记. IDE Androdi Studio 4 + Genymotion 创建项目 修改项目的 build.gradle,添加国内镜 ...
- android自动生成cardview,学习使用Material Design控件(三)使用CardView实现卡片效果...
本文主要介绍CardView的使用,CardView是继承自FrameLayout,使用比较简单,只需要用CardView包含其他View就可以实现卡片效果了. 实现效果如下: 加入依赖库 depen ...
- Android插件化开发指南——实践之仿酷狗音乐首页(自定义ImageView控件)
文章目录 1. 前言 2. 基础环境--实现RecyclerView的网格布局 3. 自定义ImageView 3. 后记 1. 前言 拟定实现效果部分为下图的歌单列表部分,也就是图中红线框出来的部分 ...
- Android 绿豆通讯录【 SQLite数据库(增删改查、展示数据) + ListView数据展示控件(展示所有数据) 】
前情提要:Android 数据库(SQLite) [简介.创建.使用(增删改查.事务.实战演练).数据显示控件(ListView.Adapter.实战演练-绿豆通讯录)] https://blog.c ...
- Android 9.0 去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示功能实现
1.1概述 在9.0的系统rom定制化开发中,关于SystemUI的定制化功能也是比较多的,在SystemUI的锁屏页面和状态栏提示无sim卡拨打紧急电话控件显示等相关提示 的功能中,在有些syste ...
- Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示
Android kotlin 将Base64字符串转换成Bitmap 前言 代码 将Base64字符串转换成Bitmap 在jetpack compose的Image控件中显示Bitmap 完事 前言 ...
- Android 10.0去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示
在开发定制化wifi版平板时,需要去掉所有紧急拨打电话的功能,而紧急拨打电话在锁屏界面 和SystemUI 的下拉快捷里面有这些功能 所以就从这两个地方入手,屏蔽到紧急拨打电话功能 1.SystemU ...
- android 商品筛选view,FilterTabView 基于 Popupwindow 实现的筛选房源信息等相关的控件,可以自由排序 @codeKK Android开源站...
基于 Popupwindow 的下拉筛选控件 功能 区分 支持区域二级联动选择 FilterTabConfig.FILTER_TYPE_AREA 支持单行 List 样式选择 FilterTabCon ...
最新文章
- [译] 12步轻松搞定python装饰器 - 简书
- 信息系统项目管理师-项目采购管理知识点
- Django 基础教程
- 基于动态背包的多场景广告序列投放算法
- JavaScript数组方法速查手册
- WebBrowser设置打印页眉页眉和页边距
- 贷款利息及公积金知识点
- 在Orderby子句中使用CASE 语句
- 重庆天象网络科技:UI设计的图标概述,新手必看的设计基础
- 怎样准备全国大学生数模竞赛大学生篇非常全
- 超级计算机 弦理论,暗能量导致宇宙加速膨胀?弦理论能否帮忙解决?
- 以太智云赋能游戏产业,打造长沙顶尖NFT游戏开发平台,实现边玩边赚
- android 高德地图动画,使用MotionLayout实现高德地图bottomSheets效果
- securecrt下传输大文件
- AutoHotkey快捷键简单介绍
- 用U盘启动盘给Dell服务器装系统找不到RAID阵列解决办法
- eclipse mdt java工程_Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本...
- 网络里有两个计算机怎么删掉其中的一个,文件删不掉显示已在另一个程序中打开怎么办删除?...
- 为什么连续性变量才有概率密度函数,而离散型只有概率呢?
- 印度之行-4:斋普尔,帝王将相今何在
热门文章
- table 表格点击当前行按钮隐藏当前的另一个按钮_Excel表格为什么那么慢已经应该如何解决(四)一类特殊的函数易变函数(volatile function)...
- 安装Linux后windows在哪启动,在Linux下安装windows后解决Linux不能启动能问题
- java的requestmapping_SpringMVC RequestMapping 详解
- Linux内核的时钟中断
- Dynamics CRM 2016 安装
- 软件工程 – 开发模型
- Iaas,Paas,Saas三者的区别联系是什么?
- 软件测试计划时要记住什么
- 一步步编写操作系统 77 内联汇编与ATT语法简介
- c语言删除文件remove_Python中的文件和目录操作