android view widget layout等的关系
16lz
2021-01-26
View,Widget,ViewGroup和Layout同属一类;View是界面显示的基本单元,会draw()到Canvas上。ViewGroup继承View,是个容器,内部有View[]数组;有些Widget(如ImageView,TextView等)继承View;有些Widget(如AdapterView,GridView等)继承ViewGroup;所有Layout(如LinearLayout,FrameLayout)也都继承ViewGroup;Window是个抽象类,PhoneWindow是其手机上的实现类;它拥有个Context,在构造的赋值,通过它可以获取各种系统参数。它拥有个WindowManager,负责跟系统的WINDOW_SERVICE通信;它拥有个派生自FrameLayout的DecorView,作为该窗口上的控件树的根;它拥有Window类型的mContainer和mActiveChild,用于管理窗口之间的关系;PhoneWindow主要包含:标题(TextView mTitleView和ActionBarView mActionBar);内容区域(ViewGroup mContentParent),通常用setContentView()设置。选择菜单(ContextMenuBuilder mContextMenu),可以显示或隐藏。Activity,跟Application和Service等都派生自Context(上下文,环境);它拥有个Window,在attach()时,由PolicyManager.makeNewWindow()赋值; 它拥有个mMainThread,用于记录执行线程,在attach()时,由外部传入。它拥有Activity类型的mParent,用于维护Activity之间的关系;PolicyManager拥有个IPolicy,它的makeNewWindow()调用了new PhoneWindow;转载自:http://blog.csdn.net/gaojinshan/article/details/16859125
入门级的基础知识,以前对View,VIewGroup,widget,layout等的关系搞不清楚,通过学习后,做了下总结,如下:
1.View,ViewGroup
>View:
}1、所有高级UI组件都继承View类而实现的 }2、一个View在屏幕上占据一块矩形区域 }3、 负责渲染 }4、负责处理发生的事件 }5、设置是否可见 }6、设置是否可以获得焦点等 2.ViewGroup: }1、一个ViewGroup对象是一Android.view.ViewGroup实例 }2、View的容器 }3、 负责对添加进ViewGroup的View进行布局 }4、一个ViewGroup可以加入到另一个ViewGroup 3.View ,ViewGroup的关系4.View,widgetView的继承关系
2.widget
}1、界面中展示的各个小组件 }2、有独立的事件处理能力 }3、所有Wiget组件都是继承View而来 注:1.widget并不是实际存在的类,它是一个包,而VIew等就是实际存在的类,所以首字母大写。在引用时,通常:import Android.view.View;
import android.widget.TextView;
因为widget是包,所以首字母小写
2.在该包内放的是UI Elements,包括TextView,ListView,但是这些元素都继承自View或ViewGroup。如下图所示:
其中各种layout继承自ViewGroup
4 layout
对UI 组件进行布局
关于view及其子类的关系如下:
转载自:http://blog.csdn.net/jason_wks/article/details/6619224
更多相关文章
- Android(安卓)TabHost的三中实现方式
- 我的Android进阶之旅------>Android颜色值(#AARRGGBB)透明度百分比
- app包下的fragment 和 v4 包下的fragment的区别 以及兼容包suppo
- 问题资源Android(安卓)lint 能够做的事情
- Android四大组件生命周期,组件类的继承与实现,Context
- 【Android】 设置App字体不跟随系统字体改变
- Kotlin继承
- Android(安卓)通过findViewById方式创建TabHost