Activity中包含views和ViewGroups(视图组)。
Android中的View与我们以前理解的“视图”不同。在Android中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的window。
ViewGroup是View的子类,所以它也具有View的特性,但它主要用来充当View的容器,将其中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也可以是ViewGroup类型。
ViewGroup和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,View类有接受和处理消息的功能,android系统所产生的消息会在这些ViewGroup和 View之间传递。
View
View就是显示在屏幕上的一个组件(Widget)。
View的例子:按钮(Button)、标签(TextView)和文本框(EditText)。每个“视图”(View)都继承自基类android.view.View。
ViewGroup
ViewGroup可以包含一个或多个View。ViewGroup本身就是一种特殊的View,它提供了一个布局,可以使用这个布局去组织一系列的View视图。ViewGroup继承于View,它可以包含其他的View,就像一个View的容器,我们可以调用其成员函数addView()将View当作孩子放到ViewGroup中。
我们经常使用的LinearLayout、relativeLayout等都是ViewGroup的子类,ViewGroup类中有一个内部类ViewGroup.LayoutParams,我们经常使用LayoutParams的子类来构造布局参数。
我们也可以自定义自己的布局,以方便日后使用和维护,这时我们就需要继承ViewGroup类并在派生类中重写ViewGroup的一些方法,
ViewGroups的例子:LinearLayout和FrameLayout。每个“ViewGroup”都继承自基类android.view.ViewGroup。
Android提供了以下的ViewGroups:
LinearLayout
AbsoluteLayout
TableLayout
RelativeLayout
FrameLayout
ScrollView
分享到:
相关推荐
这是android viewgroup view 源码,有一些注释,此源码仅供学习使用。
ViewGroup root = (ViewGroup) findViewById(android.R.id.content); LayoutTraverser.build(new LayoutTraverser.Processor() { @Override public void process(View view) { // do stuff with the view } })....
android触屏事件之activity,view,viewgroup
在Android中,视图控件大致被分为两类,即ViewGroup和View,ViewGroup控件作为父控件,包含并管理着子View,通过ViewGroup和View便形成了控件树,各个ViewGoup对象和View对象就是控件树中的节点。在控件树中,以树的...
使用ShapeInject,可能很方便给View和ViewGroup设置背景,不用再写selector文件啦
Android实现的ViewGroup双向滑动界面效果,这在当下的各种android客户端应用中使用广泛,操作也是比较顺手的一种方式,本滑动界面中设置右滑的菜单View、设置主界面View、并设置了菜单和内容边界,定义好这些为下...
NULL 博文链接:https://1002878825-qq-com.iteye.com/blog/1812390
博客配套说明:http://blog.csdn.net/xiaohao0724/article/details/54798908
一个ViewGroup是一个可以包含子View的容器,是布局文件和View容器的基类。在这个类里定义了ViewGroup.LayoutParams类,这个类是布局参数的子类。 其实ViewGroup也就是View的容器。通过ViewGroup.LayoutParams来...
主要介绍了Android App开发中自定义View和ViewGroup的实例教程,分别介绍了进度条和图片上传并排列的例子,效果很好很强大,需要的朋友可以参考下
最近项目开发的时候遇到了两个功能点:1是view和viewGroup的区别,另外一个是属性动画和补间动画的区别,我写了一个简单例子上传到这和大家交流学习
Android特效开发(可伸缩View带互相挤压效果)下 详情请见 http://blog.csdn.net/manymore13/article/details/12907969
自定义ViewGroup卡片式页面效果、Horizontalview下标跟随宽度移动改变 主要实现的功能有: Horizontalview的item滑动字体颜色渐变(仿微信)和大小渐变。 Scrollview是重写的ViewGroup,实现的自定义卡片式布局。
ViewGroup存在的目的就是为了对其子View进行管理,为其子View添加显示、响应的规则。因此,自定义ViewGroup通常需要重写onMeasure()方法来对子View进行测量,重写onLayout()方法来确定子View的位置,重写...
我们经常看到的qq侧滑、上下拉其实都是一个自定义的ViewGroup。至于具体实现什么动作、只要重写ViewGroup的onLayout和OnTouchEvent就OK。