本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点
在Android开发中,“窗口”是一个非常基础且重要的概念。窗口通常用于承载和显示用户界面内容。了解窗口的工作机制,以及如何管理窗口,对于开发复杂的和用户体验良好的应用程序至关重要。
窗口的基本概念
1、 窗口(Window):
- 窗口是一个抽象类,代表Android应用中的一个视图层级 (View Hierarchy) 的容器。
- 一个窗口可以包含多个视图(View),这些视图构成了用户可见的界面。
- 在Android中,Activity通常是窗口的主要表现形式,但窗口也可以独立于Activity存在,例如,在创建Dialog或Toast时。
2、 系统窗口(System Window):
- 这些窗口通常是全局的,并且不局限于单个应用程序。
- 一些系统级的界面,如状态栏、导航栏、键盘、系统提示框等,都是系统窗口。
3、 WindowManager
:
WindowManager
是Android为管理窗口提供的系统服务。- 它提供了一组API,允许开发者创建、调整、移除窗口等。
WindowManager
管理的窗口可以是应用窗口(由Activity创建)或者是独立窗口(如Toast、Dialog等)。
WindowManager与窗口管理
1. WindowManager的基本功能
WindowManager
是一个接口,定义了一系列与窗口相关的操作方法。常用的方法包括:
addView(View view, ViewGroup.LayoutParams params)
:添加一个新的窗口/视图。updateViewLayout(View view, ViewGroup.LayoutParams params)
:更新已存在窗口/视图的布局参数。removeView(View view)
:移除一个窗口/视图。
2. 获取 WindowManager 实例
通常情况下,可以通过 Context
来获取 WindowManager
实例:
WindowManager windowManager =