android窗口管理
来源:互联网 发布:美国网络电视台 nefix 编辑:程序博客网 时间:2024/05/17 08:24
mWindowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); Window w = PolicyManager.makeNewWindow(mContext); mWindow = w;
Dialog 中的一点源码
@Override public void onActivityCreated(Bundle arg0) { super.onActivityCreated(arg0); getDialog().getWindow() .getAttributes().windowAnimations = R.style.DialogAnimation; }
window w= PolicyManager.makeNewWindow(this)实例化一个phoneWindow对象,
phoneWindow是window 的衍生对象
但是这个对象还是比较抽象的东西。在activity开始oncreate调用时,
会调用setContentView方法。会去获得之前那个phoneWIndow对象对应的DecorView,
最后通过层层窗口修饰(状态栏等)后调用activity的makeVisible方法,
在方法中通过addiew方法完成窗口的添加。
窗口管理是android的一个核心内容。它管理着窗口的创建和销毁,布局和大小,焦点的控制等等。窗口可以分为两类:
一种是应用窗口,即由具体应用创建的窗口,其实其中还可以细分出父窗口和子窗口。窗口一般都会对应一个activity。
一种是系统窗口,如状态栏,这类窗口由系统直接通过windowManager来创建,和activity无关。
在这里,窗口的概念其实可以说由三部分构成,一部分是用来描述窗口信息的,由WindowState对象表示。
一个WindowState对象对应一个窗口,它拥有绘制窗口所需要的信息。但是真正去绘制窗口需要另一部分内容Surface来完成,
最终会通过surfaceflinger完成绘图。还有一部分就是对消息的处理,windowmanagerService把窗口信息传递给InputManager,
这样InputDispatcher就能根据当前窗口的状态进行消息处理。
WindowManager和其他很多android的服务一样,采用C/S的架构。其中windowManagerService跑在System_server进程,作为服务端,客户端通过ipc调用和它进行交互。
- Android窗口管理
- Android窗口管理
- Android窗口管理
- Android 窗口管理
- android窗口管理剖析
- Android窗口管理
- android窗口管理剖析 .
- Android窗口管理
- Android窗口管理剖析
- 【android】窗口管理
- Android 窗口管理
- Android窗口管理
- android窗口管理
- android窗口管理剖析
- Android窗口管理剖析
- android 窗口管理
- android窗口管理剖析
- android窗口管理剖析
- Ligerui表格基本操作(一)
- 在servlet中实现页面跳转
- Android Asynchronous Http Client
- c++中各个数据类型的大小
- 快速创建一个UIBarButtonItem
- android窗口管理
- bzoj1606【Usaco2008 Dec】Hay For Sale 购买干草
- 黑马程序员——Java反射
- 9个妙招增强家庭WIFI信号
- 配置sql server 2008镜像服务
- 仿美团城市选择
- 位运算符和位运算
- 三顾招聘会
- iOS瀑布流三种实现思路总结