三.接上一节,分析windowManager中添加一个悬浮框的方式,首先看代码 WindowManager.LayoutParams params = new LayoutParams(); params.width = width; params.height = height; params.format = PixelFormat.TRANSLUCENT; params.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_…
本文将主要介绍addview方法,在windowManager.window.viewGroup中的实现原理.首先将介绍这些类结构关系,然后分析其内在联系,介绍实现原理,最后介绍重要的一个参数windowManager.layoutParams. 文章预计分为三个部分. 一.首先介绍一下上述接口.类的结构 接口:windowManager 用来在应用与window之间的管理接口,管理窗口顺序,消息等 public interface WindowManager extends android.v…
activity:控制单元 window:承载模型 view:显示视图 几个小tip: 1.一个 Activity 构造的时候一定会构造一个 Window(PhoneWindow),并且只有一个 2.每个window有一个 ViewRoot(是一个View或ViewGroup) 3.通过window的addview方法把元素添加到window上. 4.可以通过 LayoutInflater 的 inflater 方法,可以把一个布局文件转换成view对象 5.界面上的点击等操作是由 Window…
记得当时在刚接触Android时都在说不要用px,要用sp,所以在实际工作当中当然就按照这个规则,所以都要将px换算成sp,而我在实际工作中的换算规则是dp=px * 1.5,而且用这种规则到现在基本上都没什么问题,但是它们之间为啥要这样换算一直也没去研究,直到去年底的一次面试受打击让我觉得一定要研究清楚这里面的是是非非,当时面试官问我它们之间的换算规则是怎么样的,我记得是这样回答的:“这是一个标准公式,实际用过界面也没出过问题,而且也没必要深究”,哈哈,感觉当时这理由确实有点牵强,不过幸运的是…
Component包含Executor(threads)的个数 在StormBase中的num-executors, 这对应于你写topology代码时, 为每个component指定的并发数(通过setBolt和setSpout)   Component和Task的对应关系, (storm-task-info) 默认你可以不指定task数, 那么task和executor为1:1关系 当然也可以通过ComponentConfigurationDeclarer#setNumTasks()去设置T…
前言 在上一篇文章我们学习了WindowManager体系,了解了Window和WindowManager之间的关系,这一篇我们接着来学习Window的属性. 1.概述 上一篇文章中我们讲过了Window.WindowManager和WMS之间的关系,WMS是Window的最终管理者,Window好比是员工,WMS是老板,为了方便老板管理员工则需要定义一些“协议”,这些“协议”就是Window的属性,被定义在WindowManager的内部类LayoutParams中,了解Window的属性能够…
前言 在此前的系列文章中我们学习了WindowManager体系和Window的属性,这一篇我们接着来讲Window的添加过程.建议阅读此篇文章前先阅读本系列的前两篇文章. 1.概述 WindowManager对Window进行管理,说到管理那就离不开对Window的添加.更新和删除的操作,在这里我们把它们统称为Window的操作.对于Window的操作,最终都是交由WMS来进行处理.窗口的操作分为两大部分,一部分是WindowManager处理部分,另一部分是WMS处理部分.我们知道Windo…
通过讨论这个问题,我们能够见识到google是对面向对象模式的理解,能够理解android底层的一些调用.这也是一道很常见的面试题. 我们这篇文章就来解决这四个问题: Android  中view的显示视图么? Activity,window,View的关系是什么? LayOutInflater 填充是什么? LayOutInflater 具体怎么做? 首先,我们从activity开始说起,说起activity我们都要知道setcontentview和attach方法.setcontentvie…
1. 概念 Android中的View与我们曾经理解的"视图"不同.在Android中,View比视图具有更广的含义,它包括了用户交互和显示,更像Windows操作系统中的window. ViewGroup是View的子类.所以它也具有View的特性,但它主要用来充当View的容器,将当中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也能够是ViewGroup类型. ViewGroup(树根)和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,V…
========4       关于android的一个常见错误:Unable to add window --token is not valid android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@41791b20 is not valid; is your activity running?at android.view.ViewRootImpl…