android视图继承关系
16lz
2021-01-23
转载:http://blog.csdn.net/dongnan591172113/article/details/33090111
android视图继承关系
分类:android入门级的基础知识,以前对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可以加入到另一个ViewGroup3.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及其子类的关系如下:
二、 View SurfaceView GLSurfaceView
View | SurfaceView | GLSurfaceView | |
功能 | 显示视图,内置画布,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢 | 基于view视图进行拓展的视图类,更适合2D游戏的开发;是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快。 | 基于SurfaceView视图再次进行拓展的视图类,专用于3D游戏开发的视图;是SurfaceView的子类,openGL专用。 |
区别 | 必须在UI的主线程中更新画面,用于被动更新画面 | UI线程和子线程中都可以。在一个新启动的线程中重新绘制画面,主动更新画面 |
更多相关文章
- Android名称、版本和API level的对应关系
- 第3.2.1节 android基本视图
- android平板上的GridView视图缓存优化
- 高级控件之网格视图(GridView)
- Android图像开源视图:SmartImageView
- android apilevel和android系统版本对应关系
- Android视图绘制流程完全解析,带你一步步深入了解View(二)