我们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相关推荐

  1. 在 Android* 平台上设置原生 OpenGL ES*

    Setting up Native OpenGL ES* on Android* Platforms final.docx BSD2.0.txt ParticleSystemNDK.zip READM ...

  2. Android平台下的图片/视频转Ascii码图片/视频 (一)

    前一阵看鸿洋公众号日推,看到一个几年前就感觉有意思的一个技术,那就是图片转Ascii码,记得上大学时玩过windows的图片或视频转ascii码,可惜那个软件不好用,有bug,转视频的时候动不动就卡死 ...

  3. android 流播放器开发,GitHub - youcoding98/FastVideo: 基于Android平台的移动流媒体播放器的开发...

    基于Android平台的移动流媒体播放器的开发 主页界面如下 第一部分 课题相关介绍 与普通播放器相比,流媒体播放器最主要的不同点在于其能够实现实时的视频播放,用户可以实现边加载边播放,不需要一次全下 ...

  4. Android平台框架学习

    2019独角兽企业重金招聘Python工程师标准>>> 最强Android架构剖析pdf notes: 1.Froyo(冻酸奶) Android 2.2-2.2.3 开始支持sd卡上 ...

  5. Android平台手机UI应用开发——软件管理器

    第一次写博客,与大家分享源代码,博客很多地方不知道怎么设计,望见谅. 希望大家多多支持,雅林和大家一起学习Android,共同进步. 今天我们要做的这个软件管理器,主要目的是为了学习Android平台 ...

  6. 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤

    之前在https://blog.csdn.net/fengbingchun/article/details/96430706中编译过opencv源码用于海思平台,这里通过修改脚本编译opencv 2. ...

  7. android显示温湿度设计与实现,基于Android平台蝴蝶兰大棚温湿度测控系统的设计与实现...

    摘要: 随着物联网技术在农业设施智能化控制方面的广泛应用,温室大棚环境因子的监测与设施的控制也得到了长足的进步.从经济效益角度来说,专业化人才需求的不断增加与劳动力成本的不断提高之间的矛盾,从农业产业 ...

  8. android学生个人事物管理系统,基于Android平台的学生个人事务管理系统的设计与实现(整理版).doc...

    DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF;DS 摘 要 Android智能手机越来越普及 ...

  9. 奥比中光Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题

    相机:Gemini 3D双目结构光深度相机 环境:Android7.1 软件:SDK中的java demo下的depthforopenni2 问题: 在Android样例depthforopenni2 ...

最新文章

  1. 下载备忘:甘特图实现的代码
  2. 【PC工具】更新github下载加速器,github项目辅助下载工具,github高速下载
  3. UML建模--序列图建模技巧
  4. 从“电商合伙人”到“品牌掌柜”,快手电商“军训”进行时
  5. jboss resin tomcat 相关
  6. codeforces 767C - Garland
  7. 面试指南|GO高性能编程精华PDF
  8. JavaScript学习总结(九)——Javascript面向(基于)对象编程
  9. 【Java】如何理解Java中的双列集合Map?
  10. 【Java从入门到头秃专栏 6】语法篇(五) :多线程 线程池 可见、原子性 并发包 Lambda表达式
  11. tcp协议栈优化1-增加TCP初始拥塞窗口
  12. 华中科技大学计算机专业培养计划,2021年华中科技大学计算机科学与技术专业本科人才培养方案.doc...
  13. java 标识符_java标识符的基础知识
  14. L1-035 情人节 (15 分)—团体程序设计天梯赛
  15. 去除winrar广告
  16. 量子研究再获突破能否成功解决核潜艇通信难题?
  17. 使用minikube快速部署k8s集群
  18. 安卓京东自动炸年兽v4.1.1
  19. PHP+python+nodejs+ springboot+vue 社区互助平台
  20. 192.168.8.1手机登陆_192.168.8.1登录入口上网设置

热门文章

  1. 【Git】 fatal: detected dubious ownership in repository 解决方法
  2. 如何搭建一间中高职院校电商直播实训室
  3. Word文档下载(图片,数据表格)
  4. 机器视觉学习笔记(七)——灰度分析与变换(基于LabVIEW)
  5. 读书笔记-《ON JAVA 中文版》-摘要7[第七章 封装]
  6. 美联储已败(视频版)
  7. 将手绘地图或自制地图显示在网页上(利用百度API)
  8. 基本初等函数 对数函数
  9. 终极算法——第八章:无师自通
  10. gin context 和 cancal 以及 done()