View架构简介:
在Android中,控件主要以ViewGroup和View的形式存在。ViewGroup控件可以包含多个View控件,该复合控件负责其内部所有子控件的测量和绘制,并传递交互事件。如图,
在Android的移动开发中,每个Activity都包含了一个PhoneWindow对象,该对象将DecorView设置为应用窗口的根View。该视图上的所有监听事件都通过WindowM...
分类:
移动开发 时间:
2016-04-17 23:09:27
阅读次数:
326
当触摸屏幕时候, --先调用Activity中的dispatchTouchEvent函数,分发事件,找到点击位置所在的第一个子控件viewgroup1, --然后将事件传递个viewgroup1的dispatchTouchEvent函数,然后看viewgroup1的onInterceptTouchE ...
分类:
移动开发 时间:
2016-04-16 18:22:46
阅读次数:
194
前面几节,我们重点讨论了自定义View的三板斧,这节我们来讨论自定义ViewGroup,为什么要自定义ViewGroup,其实就是为了更好的管理View。 自定义ViewGroup无非那么几步: Ⅰ、重写OnMeasure()方法,测试子控件的大小。 Ⅱ、重写onLayout()方法,计算子控件的布 ...
分类:
移动开发 时间:
2016-04-12 12:26:51
阅读次数:
152
1、cell子控件创建写在 initWithStyle:reuseIdentifier 2、后台计算高度,布局。放在集合中下次使用。 3、有一些显示的内容有富文本,特别是从HTML 转化为属性字符串时候。 解决方案,后台提前转化需要的属性字符串,然后缓存起来避免重复转化带来的CPU性能消耗。可以参考 ...
分类:
其他好文 时间:
2016-04-09 12:14:00
阅读次数:
700
五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整个重绘这些FWinControl子控件。那么什么时候才整个重绘全部FWinControls呢?这时候 ...
场景 :当一个控件中有多个子控件时后者功能复杂时可以自定义封装一个类 使用 : 类的h文件 初始化类方法 子控件的数据(或者数据模型) 注意点:考虑属性重新赋值多次有什么影响 -(void)layoutSubViews的调用时刻 1当控件的尺寸发生改变的时候,会自动调用这个方法 注意点: 少用tag ...
分类:
其他好文 时间:
2016-04-01 17:43:04
阅读次数:
124
总结一下 iOS中 frame 和 bounds之间的区别 综述 frame和bounds都是描述一块矩形区域,但是他们是有区别的 frame:以父控件的左上角为原点 bounds: 以自己的左上角为原点 frame:可视范围 bounds:可视范围在内容的哪个区域 改bounds影响是子控件,而不 ...
分类:
其他好文 时间:
2016-03-30 00:11:44
阅读次数:
246
理解事件的分发机制,需要对View和ViewGroup事件的分发分别探讨。View和ViewGroup的区别,一个View控件是指它里面不能再包含子控件了,常见的如TextView、Button、ImageView等,而ViewGroup是继承自View的,但是它里面可以包含一些子控件,包括View或者嵌套的ViewGroup,常用的大部分布局都是ViewGroup组件,如LinearLayout...
分类:
移动开发 时间:
2016-03-28 00:05:45
阅读次数:
388
在做布局文件时,经常会有布局组件压在其它组件上面,这样点击上面布局没有控件的部分就会点中下面布局的控件。 如何拦截事件不让事件传递到下一层呢? 布局组件onTouchEvent() 用于处理事件,返回值决定当前控件是否消费(consume)了这个事件。 返回值为true时不在传递给子控件。
分类:
移动开发 时间:
2016-03-18 01:47:03
阅读次数:
150
本文转自:http://www.linuxidc.com/Linux/2015-08/121270.htm 6.橙2都满足最上面两个条件,遍历子控件,先取出红3 7.红3不满足条件2,取出蓝3 8.蓝3也不满足条件2,最后最合适的控件是橙2 找到合适的控件之后就要进行响应了,这里先介绍一下响应者链条
分类:
移动开发 时间:
2016-03-17 00:01:04
阅读次数:
230