Android平台WindowManager
我们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* 平台上设置原生 OpenGL ES*
Setting up Native OpenGL ES* on Android* Platforms final.docx BSD2.0.txt ParticleSystemNDK.zip READM ...
- Android平台下的图片/视频转Ascii码图片/视频 (一)
前一阵看鸿洋公众号日推,看到一个几年前就感觉有意思的一个技术,那就是图片转Ascii码,记得上大学时玩过windows的图片或视频转ascii码,可惜那个软件不好用,有bug,转视频的时候动不动就卡死 ...
- android 流播放器开发,GitHub - youcoding98/FastVideo: 基于Android平台的移动流媒体播放器的开发...
基于Android平台的移动流媒体播放器的开发 主页界面如下 第一部分 课题相关介绍 与普通播放器相比,流媒体播放器最主要的不同点在于其能够实现实时的视频播放,用户可以实现边加载边播放,不需要一次全下 ...
- Android平台框架学习
2019独角兽企业重金招聘Python工程师标准>>> 最强Android架构剖析pdf notes: 1.Froyo(冻酸奶) Android 2.2-2.2.3 开始支持sd卡上 ...
- Android平台手机UI应用开发——软件管理器
第一次写博客,与大家分享源代码,博客很多地方不知道怎么设计,望见谅. 希望大家多多支持,雅林和大家一起学习Android,共同进步. 今天我们要做的这个软件管理器,主要目的是为了学习Android平台 ...
- 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤
之前在https://blog.csdn.net/fengbingchun/article/details/96430706中编译过opencv源码用于海思平台,这里通过修改脚本编译opencv 2. ...
- android显示温湿度设计与实现,基于Android平台蝴蝶兰大棚温湿度测控系统的设计与实现...
摘要: 随着物联网技术在农业设施智能化控制方面的广泛应用,温室大棚环境因子的监测与设施的控制也得到了长足的进步.从经济效益角度来说,专业化人才需求的不断增加与劳动力成本的不断提高之间的矛盾,从农业产业 ...
- android学生个人事物管理系统,基于Android平台的学生个人事务管理系统的设计与实现(整理版).doc...
DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF;DS 摘 要 Android智能手机越来越普及 ...
- 奥比中光Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题
相机:Gemini 3D双目结构光深度相机 环境:Android7.1 软件:SDK中的java demo下的depthforopenni2 问题: 在Android样例depthforopenni2 ...
最新文章
- 下载备忘:甘特图实现的代码
- 【PC工具】更新github下载加速器,github项目辅助下载工具,github高速下载
- UML建模--序列图建模技巧
- 从“电商合伙人”到“品牌掌柜”,快手电商“军训”进行时
- jboss resin tomcat 相关
- codeforces 767C - Garland
- 面试指南|GO高性能编程精华PDF
- JavaScript学习总结(九)——Javascript面向(基于)对象编程
- 【Java】如何理解Java中的双列集合Map?
- 【Java从入门到头秃专栏 6】语法篇(五) :多线程 线程池 可见、原子性 并发包 Lambda表达式
- tcp协议栈优化1-增加TCP初始拥塞窗口
- 华中科技大学计算机专业培养计划,2021年华中科技大学计算机科学与技术专业本科人才培养方案.doc...
- java 标识符_java标识符的基础知识
- L1-035 情人节 (15 分)—团体程序设计天梯赛
- 去除winrar广告
- 量子研究再获突破能否成功解决核潜艇通信难题?
- 使用minikube快速部署k8s集群
- 安卓京东自动炸年兽v4.1.1
- PHP+python+nodejs+ springboot+vue 社区互助平台
- 192.168.8.1手机登陆_192.168.8.1登录入口上网设置