`
daojin
  • 浏览: 693956 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android基础建设之Activity,ViewRoot,WindowManager,Window,View

 
阅读更多

一个Activity

对应一个WindowManager

对应一个Window

对应一个DecorView

对应一个Feature确定的Layout

 

但是对应多个ViewRoot。

对应多个Dialog等。

分享到:
评论

相关推荐

    联想 viewroot简介

    根据给定的文件信息,本文将详细介绍与ViewRoot相关的知识点,包括其在Android GUI架构中的角色、工作原理以及与之相关的组件。 #### 窗口管理概念 ##### 应用窗口 应用窗口是指由具体应用程序创建的窗口,它们...

    Android 核心分析(13) -----Android GWES之Android窗口管理.doc

    客户端由Window、View、ViewRoot(连接View和Window系统的桥梁)以及WindowManager代理(与Service通信的中介)组成。 4. **窗口管理流程** - Activity启动时,通过`performLaunchActivity`创建PhoneWindow。 - `...

    Android Graphics Architecture.pdf

    3. **创建Surface**: ViewRoot通过调用`WindowManagerService.addWindow()`来为新窗口创建一个Surface,并将Surface传递给Activity。 4. **绘制视图层次结构**: Activity通过`ViewRoot.setView()`方法设置其视图层次...

    Android中View绘制流程详细介绍

    接着,Activity的根View会被添加到WindowManager中,此时,`WindowManagerImpl`会创建一个`ViewRoot`来管理这个根View。 **DecorView的创建** DecorView是Window的最顶层View,它是`PhoneWindow`的内部类,继承自`...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    4.1 初识ViewRoot和DecorView 174 4.2 理解MeasureSpec 177 4.2.1 MeasureSpec 177 4.2.2 MeasureSpec和LayoutParams的对应关系 178 4.3 View的工作流程 183 4.3.1 measure过程 183 4.3.2 layout过程 193 ...

    Activity实现透明的最简洁Demo

    在XML布局文件中,将根视图(root view)的背景色设置为透明,如下所示: ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:...

    Android开发艺术探索1

    - **ViewRoot和DecorView**:DecorView是顶级窗口,ViewRoot是View与Window交互的桥梁。 - **MeasureSpec**:MeasureSpec是尺寸约束,用于测量View的大小。 - **自定义View**:了解如何根据需求定制View,包括...

    Android开发艺术探索

     4.1 初识ViewRoot和DecorView / 174  4.2 理解MeasureSpec / 177  4.2.1 MeasureSpec / 177  4.2.2 MeasureSpec和LayoutParams的对应关系 / 178  4.3 View的工作流程 / 183  4.3.1 measure过程 / 183  4.3.2...

    android与symbian应用程序框架

    Android的消息处理机制涉及`WindowManager`与硬件驱动之间的通信,而Symbian则通过`wserv`与媒体驱动交互。在消息分发方面,`ViewRoot`调用`RootHandler().dispatch()`方法,进一步调用`dispatchKey`。如果存在...

    Android下Activity全屏显示实现方法

    在Android开发中,有时我们需要将一个Activity设置为全屏显示,以提供更沉浸式的用户体验。全屏显示可以去除顶部的状态栏和底部的任务栏,让应用的内容占据整个屏幕。本篇文章将详细阐述两种在Android中实现Activity...

    view面试专题.docx

    2. **View与ViewRoot的关联** - 在`handleResumeActivity`时,`Activity`的`onResume`方法被调用。 - `WindowManager`将`DecorView`设置给`ViewRootImpl`。 - 此时`DecorView`加载到了`Window`中。 3. **View的...

    软键盘遮住悬浮窗的EditText、软键盘消失无法监听返回键

    3. 自定义输入法事件监听:由于Android系统并未提供直接监听软键盘开关的API,可以通过监听Activity的root view高度变化来间接判断。当root view的高度减小,一般意味着软键盘弹出;反之,高度增大则可能是软键盘...

    Android开发解决popupWindow重叠报错问题

    ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activity running? 报错的意思大概就是说...

    Android区域截屏

    - 使用`WindowManager`服务添加一个透明的`View`或`Dialog`作为浮动窗口,用户可以通过拖动选择区域。 - 添加` onTouchListener`监听用户手势,记录起始点和结束点,确定截取的矩形区域。 3. **裁剪截图** - ...

    Android 获取屏幕高度,标题高度,状态栏高度(实例代码)

    View contentRoot = findViewById(Window.ID_ANDROID_CONTENT); int contentTop = contentRoot.getTop(); int titleBarHeight = contentTop - statusBarHeight; ``` 此外,还可以使用其他方式获取屏幕和状态栏...

    基于Android实现桌面悬浮清内存app概述

    Android中的悬浮窗口通常通过`WindowManager`服务来实现,它允许我们将视图添加到窗口层次结构中,使其显示在所有其他应用之上。关键代码如下: ```java WindowManager windowManager = (WindowManager) context....

Global site tag (gtag.js) - Google Analytics