题目:给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
来源:互联网 发布:手机超市软件 编辑:程序博客网 时间:2024/06/05 17:02
题目:给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
算法原理:
- Android的view视图是按树形结构分布,所以按树形结构遍历
- 循环判断每一层的ViewGroup元素,将其入栈;否则判断当前view是否是Button类实例,是则改写背景色
- 当前ViewGroup检查childView完成后,判断栈是否非空,取出栈顶元素ViewGroup重复步骤2直至栈为空。
void changeAllBtnBGColor(View view, int color) { if (view == null || !(view instanceof ViewGroup)) return; Stack<View> m = new Stack<>(); while (view != null) { ViewGroup tmpGroup = (ViewGroup) view; int count = tmpGroup.getChildCount(); for (int i = 0; i < count; i++) { View child = tmpGroup.getChildAt(i); if (child instanceof ViewGroup) m.add(child); else if (child instanceof Button) { child.setBackgroundColor(color); } } if (m.isEmpty()) break; else view = m.pop(); } }
2 0
- 题目:给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
- 算法把rootview中所有的button改变背景
- 地址的最外层面板的设置
- 面试手写代码的题目
- MFC给button设置背景。
- 代码片段--Button抢焦点, 无论点在哪都是button触发. 解决方法很简单, 在item最外层的布局中加一个配置:
- 获得activity的rootview
- json串最外层是集合的情况下
- eclipse 设置全部的背景颜色
- php手写最基本的代码
- 用自定义.9图设置为android button的背景
- 设置button背景的半透明效果!!!
- Button按钮状态背景的设置
- Button按钮状态背景的设置
- Button设置弧度背景的方法
- ARC下 pop到Rootview 中间controller的内存控制
- Android 通过按钮Button更改全部的TextView、EditText、Button的字体大小、字体颜色、背景颜色
- Android 通过按钮Button更改全部的TextView、EditText、Button的字体大小、字体颜色、背景颜色
- Spring MVC + Ajax异步提交文件(多个)和数据
- Saving Data笔记
- '"><img src=1 onerror=console.log('XSS')>
- nodejs-基本使用
- 关于linux编译链接库问题
- 题目:给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
- 图标动画技术入门(An Introduction to Icon Animation Techniques翻译)
- 设计模式之单例模式
- MFC中两个对话框之间数据传递
- Volley框架封装
- Java九种基本数据类型的大小,以及他们的封装类。
- POSIX 线程编程指南(二)
- 分享一个最新的druid数据源配置
- spring + EhCache缓存实例