android重写view和viewgroup的区别】的更多相关文章

重写view: View类一般用于绘图操作,重写它的onDraw方法,但它不可以包含其他组件,没有addView(View view)方法. 重写viewgroup: ViewGroup是一个组件容器,它可以包含任何组件,但必须重写onLayout(boolean changed,int l,int t,int r,int b)和onMesure(int widthMesureSpec,int heightMesureSpec)方法. 否则ViewGroup中添加组件是不会显示的. 自定义重写L…
因为这个问题会经常成为面试的热点,所以我们来谈谈View以及ViewGroup的区别. 先看看View及ViewGroup类关系    Android View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的.View是基类,ViewGroup是它的子类.这就证明了一点,View代表了用户界面组件的一块可绘制的空间块.每一个View在屏幕上占据一个长方形区域.在这个区域内,这个VIEW对象负责图形绘制和事件处理.Vi…
一般自定义view需要重写的方法 void onMeasure(int widthMeasureSpec, int heightMeasureSpec) void onSizeChanged(int w, int h, int oldw, int oldh) void onDraw(Canvas canvas) 复制代码 一般自定义ViewGroup需要重新的方法 void onMeasure(int widthMeasureSpec, int heightMeasureSpec) void o…
View.java源码: /frameworks/base/core/java/android/view/View.java View.java的 dispatchTouchEvent 方法: 经过一系列的处理后,将TouchEvent传递给 onTouch 或 onTouchEvent /** * Pass the touch screen motion event down to the target view, or this * view if it is the target. * *…
1. 概念Android中的View与我们以前理解的“视图”不同.在Android中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的window. ViewGroup是View的子类,所以它也具有View的特性,但它主要用来充当View的容器,将其中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也可以是ViewGroup类型. ViewGroup(树根)和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,View类有接…
1. 概念 Android中的View与我们曾经理解的"视图"不同.在Android中,View比视图具有更广的含义,它包括了用户交互和显示,更像Windows操作系统中的window. ViewGroup是View的子类.所以它也具有View的特性,但它主要用来充当View的容器,将当中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也能够是ViewGroup类型. ViewGroup(树根)和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,V…
Android的UI界面都是由View和ViewGroup及其派生类组合而成的.其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的.AndroidUI界面的一般结构可参见下面的示意图: 可见,作为容器的ViewGroup可以包含作为叶子节点的View,也可以包含作为更低层次的子ViewGroup,而子ViewGroup又可以包含下一层的叶子节点的View和ViewGroup.事实上,这种灵活的View层次结构可以形成非常复杂的UI布局,开…
View及ViewGroup类关系 Android View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的. View是基类,ViewGroup是它的子类.这就证明了一点,View代表了用户界面组件的一块可绘制的空间块.每一个View在屏幕上占据一个长方 形区域.在这个区域内,这个VIEW对象负责图形绘制和事件处理.View是小控件widgets和ViewGroup的父类,同时,ViewGroup 又是Layout…
在重写View的时候,会遇到这两个方法 protected void onAttachedToWindow() Description copied from class: View This is called when the view is attached to a window. At this point it has a Surface and will start drawing. Note that this function is guaranteed to be calle…
---恢复内容开始--- ViewGroup的职能为:给childView计算出建议的宽和高和测量模式 :决定childView的位置:为什么只是建议的宽和高,而不是直接确定呢,别忘了childView宽和高可以设置为wrap_content,这样只有childView才能计算出自己的宽和高. View的职责:根据测量模式和ViewGroup给出的建议的宽和高,计算出自己的宽和高:同时还有个更重要的职责是:在ViewGroup为其指定的区域内绘制自己的形态. 在自定义view中: 1.自定义Vi…