Android学习中关于WindowManager的讲解(转载)
来源:互联网 发布:淘宝客双十一怎么赚钱 编辑:程序博客网 时间:2024/05/19 04:03
我们Android平台是一个又一个的Activity组成的,每一个Activity有一个或者多个View构成。所以说,当我们想显示一个界面的时候,我们首先想到的是建立一个Activity,然后所有的操作在Activity里面实现,或者是一个Dialog或者Toast。这种方式固然简单,但是在有些情况下,我们要求的只是简单的显示,用Activity显然是多余,这个时候,我们如何处理呢?
原来,整个Android的窗口机制是基于一个叫做 WindowManager,这个接口可以添加view到屏幕,也可以从屏幕删除view。它面向的对象一端是屏幕,另一端就是View,直接忽略我们以前的Activity或者Dialog之类的东东。其实我们的Activity或者Diolog底层的实现也是通过WindowManager,这个 WindowManager是全局的,整个系统就是这个唯一的东东。它是显示View的最底层了。
写一个简单的代码:
WindowManager mWm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Button view = new Button(this);
view.setText("window manager test!");
WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
mWm.addView(view, mParams);
一般在刚开始开发android时,会犯一个错误,即在View的构造函数中获取getWidth()和getHeight(),当一个view对象创建时,android并不知道其大小,所以getWidth()和getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。width = activity.getWindowManager().getDefaultDisplay().getWidth();height = activity.getWindowManager().getDefaultDisplay().getHeight();
- Android学习中关于WindowManager的讲解(转载)
- Android学习中关于WindowManager的讲解(转载)
- Android学习中关于WindowManager的讲解(转载)
- Android学习中关于WindowManager的讲解(转载)
- Android学习中关于WindowManager的讲解(转载)
- Android学习中关于WindowManager的讲解
- Android学习中关于WindowManager的讲解
- Android学习中关于WindowManager
- Android中WindowManager学习笔记
- 关于堆栈的讲解(转载)
- 关于 android 中 postDelayed方法的讲解
- 关于 android 中 postDelayed方法的讲解
- 关于 android 中 postDelayed方法的讲解
- 关于android中postDelayed方法的讲解
- 关于 android 中 postDelayed方法的讲解
- 关于 android 中 postDelayed方法的讲解
- 关于 android 中 postDelayed方法的讲解
- 关于 android 中 postDelayed方法的讲解
- 一个 JS 写的 Table 自增/减行例子,和一个模态对话框传值例子的源代码
- java(eclipse)UML工具 umlet
- 哀悼日网站如何变灰
- 文献管理工具Mendeley 中文手册
- Asp.net 2.0中使用ValidationGroup属性有选择验证某些控件(http://hi.baidu.com/tracyjay/blog/item/4e894e205fa18a4593580785.html)
- Android学习中关于WindowManager的讲解(转载)
- 4.21 javascript 自学第一阶段复习
- Vs2005中HttpWorkerRequest的GetPreloadedEntityBody()读不到数据?
- 打开多个Activity,如何返回到第一个Activity? 如 A 打开 B, B 打开 C, C 打开 D, 然后如果从 D 一步返回到 A,并清楚掉 B、C、D呢?
- 三端稳压芯片78xx/79xx的功耗和散热
- Flex:Web报表编辑器——MyReport (可下载使用)
- Excel批量修改超链接
- 一个简单std::cout 引出的学习
- Goodbye to CSS Hack