转载: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可以加入到另一个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及其子类的关系如下:



二、 View SurfaceView GLSurfaceView

View SurfaceView GLSurfaceView
功能 显示视图,内置画布,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢 基于view视图进行拓展的视图类,更适合2D游戏的开发;是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快。 基于SurfaceView视图再次进行拓展的视图类,专用于3D游戏开发的视图;是SurfaceView的子类,openGL专用。
区别 必须在UI的主线程中更新画面,用于被动更新画面 UI线程和子线程中都可以。在一个新启动的线程中重新绘制画面,主动更新画面



更多相关文章

  1. Android概述
  2. 自定义控件与Handler
  3. 【Android(安卓)开发】:Android五种布局的使用方法
  4. Android(安卓)4编程入门经典
  5. Android(安卓)API 中文 (42) —— ListView
  6. android布局学习利器-Hierarchy Viewer
  7. Android(安卓)4编程入门经典
  8. 【Android(安卓)开发】:Android五种布局的使用方法
  9. Android中的Adapter

随机推荐

  1. Unity3D - 发布Android游戏
  2. Android表格控件动态生成表格
  3. Android Spinner填充数据后设置默认值
  4. 使用Android Studio3.0新功能,加快Android
  5. Eclipse+Android解决SDK下无doc文件夹问
  6. 升级SDK后,出现这个:This Android(安卓)SDK
  7. Android Studio修改默认.gitignore模板
  8. android获取摄像头视频帧数据
  9. 如何测试APK是否设置android:debuggable=
  10. Android之EditText不自动获取焦点