UIView*view1=[[UIView alloc]initWithFrame:CGRectMake(10,30,300,30)]; view1.backgroundColor=[UIColor redColor]; [self.window addSubview:view1]; [view1 release];   UIView*view2=[[UIView alloc]init]; view2.frame=CGRectMake(30,20,50,100); view2.backgroun…
注:本人是翻译过来,并且加上本人的一点见解. 前言 UICollectionView 在 iOS6 中第一次被引入,也是 UIKit 视图类中的一颗新星.它和 UITableView 共享一套 API 设计,但也在 UITableView 上做了一些扩展.UICollectionView 最强大.同时显著超出 UITableView 的特色就是其完全灵活的布局结构.在这篇文章中,我们将会实现一个相当复杂的自定义 collection view 布局,并且顺便讨论一下这个类设计的重要部分.项目的示…
Android事件传递流程在网上可以找到很多资料,FrameWork层输入事件和消费事件,可以参考: Touch事件派发过程详解 这篇blog阐述了底层是如何处理屏幕输,并往上传递的.Touch事件传递到Activity的DecorView时,往下走就是ViewGroup和子View之间的事件传递,可以参考郭神的这两篇博客 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) Android事件分发机制完全解析,带你从源码的角度彻底理解(下) 郭神的两篇博客清楚明白地说明了View…
LinearLayout的gravity属性以及其子元素的layout_gravity何时有效:RelativeLayout如何调整其子元素位置只能用子元素中的属性来控制,用RelativeLayout中的gravity无法控制!!! LinearLayout的gravity属性以及其子元素的layout_gravity何时有效 转自:http://www.cnblogs.com/xiaoran1129/archive/2013/03/26/2982733.html 相信对于Android的初学…
目录: 1. 纯代码布局 2. 在View中进行代码布局 3. Autoresizing 回到顶部 1. 纯代码布局 纯代码布局分VC下和V下 [MX1-layout-code] 在VC下覆盖viewDidLayoutSubviews方法,在方法中写布局,一般会把要布局的控件拉成属性 当界面大小发生改变时(竖屏变横屏, 出现工具栏或各种bar....), 调用此方法.注意这个方法在运行之后就会调用,只是在界面发生变化后会再次调用,最终的布局在这里起作用. 此方法的调用在Storyboard布局后…
问题: 对android的事件机制一直不怎么了解,最近android项目中运用viewpager+listview (就是viewpager的子view中嵌套了listview),出现了触摸手势冲突 吐槽: 问题一来很是捉急,于是执行傻瓜式问题解决,各种谷歌大神求支援,按照网上的解决方案,也不管对不对应我的情况,一顿乱搞.... 显然无数次失败之后还是没给我足够的教训,这次结果依然是没找到现成的,(:一_一) ... 机制: 纠结了一天,决定好好理一理android的事件机制,找到下面这3张图(…
请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52236145 View的Draw时序图 ViewRootImpl.performTraversals过程 ViewRootImpl.performDraw过程 View.draw方法 View.dispatchDraw过程 LinearLayout的onDraw过程 View的Draw时序图 前面几篇通过对View树的measure和layout过程分析事,接下来将…
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52216195 View树的Layout流程 View的Layout时序图 View布局流程之Layout ViewGroup的Layout过程 setFrame方法 View的Layout过程 FrameLayout的Layout过程 View树的Layout流程图: View布局流程之Layout: ViewGroup的Layout过程 view.getLeft()--mLeft:…
View树的measure流程 View的measures时序图 View布局流程之measure measure过程 View的measure过程 ViewGroup的measure过程 FrameLayout的measure过程 View树的measure流程图如下: View树的measure时序图: View的measure过程 View的measure方法如下: View.java 这是个final方法, 子类不能重写, 主要是在里面会调用onMeasure方法. 此处有一个优化, 就…
原因是子View的点击事件抢占了listview的点击事件 解决办法: 1. 子View根布局 设置 android:descendantFocusability="blocksDescendants" 2.子View中 有Button 或者ImageButton之类的设置 android:focusable="false" 3.ListView布局 设置 android:splitMotionEvents="false" 原文地址:https:…