ViewGroup实现的两个接口ViewParent 和 ViewManager
来源:互联网 发布:软件测试原佩腾 编辑:程序博客网 时间:2024/03/29 18:41
ViewGroup 继承了 View 实现了两个接口 ViewParent 和 ViewManager
接口 ViewParent:定义了成为一个View的parent的一些“职能”,当parent 和 它的child相互影响的时候查看此类。
requestLayout():当view parent 的child view layout 发生彻底改变的时候调用,这个方法将通过视图树处理layout,即重新调用parent view 的OnMeasure 方法 OnLayout 方法 和 OnDraw方法。(与View的invalidate区别:invalidate只调用onDraw方法,重新绘画)
isLayoutRequested():在该view parent 中是否请求重新绘图(即是否调用了requestLayout)。
invalidateChild(View child, Rect r):全部child 或者 部分 child 数据已经改变需要重绘。
getParent():如果 parent 存在 返回它本身,如果不在 返回null。
requestChildFocus(View child, View focused) :当parent中的一个child想获取焦点时调用。
recomputeViewAttributes(View child) :告诉视图层级(view hierarchy)全局view的属性需要重新计算。
clearChildFocus(View child) : parent中的child放弃目前焦点。
getChildVisibleRect(View child, Rect r, android.graphics.Point offset : 根据子视图坐标计算一个矩形的区域是否可见
focusSearch(View v, int direction) : 通过所给的条件(FOCUS_UP、FOCUS_DOWN、FOCUS_LEFT、FOCUS_RIGHT)找到最近的要获取焦点的view
bringChildToFront(View child) : 改变child的z order 顺序,将它放在其他子视图的最上面。
showContextMenuForChild(View originalView) :给指定View一个ContextMenu
createContextMenu(ContextMenu menu) : 创建一个上下文菜单
接口 ViewManager :在一个Activity中 add 或者 remove 一个 child view,通过Context.getSystemService()得到它的实例。
addView(View view, ViewGroup.LayoutParams params)
updateViewLayout(View view, ViewGroup.LayoutParams params)
removeView(View view)
接口 ViewParent:定义了成为一个View的parent的一些“职能”,当parent 和 它的child相互影响的时候查看此类。
requestLayout():当view parent 的child view layout 发生彻底改变的时候调用,这个方法将通过视图树处理layout,即重新调用parent view 的OnMeasure 方法 OnLayout 方法 和 OnDraw方法。(与View的invalidate区别:invalidate只调用onDraw方法,重新绘画)
isLayoutRequested():在该view parent 中是否请求重新绘图(即是否调用了requestLayout)。
invalidateChild(View child, Rect r):全部child 或者 部分 child 数据已经改变需要重绘。
getParent():如果 parent 存在 返回它本身,如果不在 返回null。
requestChildFocus(View child, View focused) :当parent中的一个child想获取焦点时调用。
recomputeViewAttributes(View child) :告诉视图层级(view hierarchy)全局view的属性需要重新计算。
clearChildFocus(View child) : parent中的child放弃目前焦点。
getChildVisibleRect(View child, Rect r, android.graphics.Point offset : 根据子视图坐标计算一个矩形的区域是否可见
focusSearch(View v, int direction) : 通过所给的条件(FOCUS_UP、FOCUS_DOWN、FOCUS_LEFT、FOCUS_RIGHT)找到最近的要获取焦点的view
bringChildToFront(View child) : 改变child的z order 顺序,将它放在其他子视图的最上面。
showContextMenuForChild(View originalView) :给指定View一个ContextMenu
createContextMenu(ContextMenu menu) : 创建一个上下文菜单
接口 ViewManager :在一个Activity中 add 或者 remove 一个 child view,通过Context.getSystemService()得到它的实例。
addView(View view, ViewGroup.LayoutParams params)
updateViewLayout(View view, ViewGroup.LayoutParams params)
removeView(View view)
0 0
- ViewGroup实现的两个接口ViewParent 和 ViewManager
- view,activity,window已经activitygroup,viewgroup,windowManager,viewmanager,activitymanager的关系
- ViewManager的Demo
- ViewManager
- ViewStub must have a non-null ViewGroup viewParent
- viewParent和view转换的问题,view如何得到parent下面的控件
- 设计一个Shape接口和它的两个实现类Square和Circle
- java.lang.IllegalStateException: ViewStub must have a non-null ViewGroup viewParent
- (4.1.37.4)两个简单的例子让你搞懂View和ViewGroup的OnMeasure()
- 关于java的collection框架我们最应该知道的两个接口和四个实现类
- 两个重要的接口:INotifyPropertychanged和IValueConverter
- 为DataGrid写一个Renderer需要注意实现的两个接口:IListDataRenderer和IDropInListDataRenderer
- 关于java List接口的两个实现类ArrayList和Vector区别
- 微信获取用户信息的两个接口和两个ACCESS_TOKEN
- 微信获取用户信息的两个接口和两个ACCESS_TOKEN
- View 和 ViewGroup的分析
- View和ViewGroup的理解
- view和viewgroup的详解
- Mac FFmpeg x265, aac, ffplay编译安装
- 【Python机器学习】梯度下降法(二)
- 【算法导论】堆排序java实现
- Android 节操视频播放器jiecaovideoplayer使用
- CentOS常用 性能 检测 命令 解释
- ViewGroup实现的两个接口ViewParent 和 ViewManager
- 兰州骑行:153公里骑行刘家峡
- canvas代码段
- yocto 各种技巧 imx6
- Angular-1.5.8文档翻译之$compile
- Vue组件理解
- Android使用RecyclerView绘制表格
- TransitionDrawable的使用
- promise 特点总结