当前位置: 首页 > article >正文

Android WMS——WM窗口管理(八)

        我们在 ViewRootImpl 分析中,已经对 WindowManager 的功能有一个大致了解,这里再来详细看一下 WindowManager 是如何管理 Window 的。

一、WindowManager

        WindowManager 所提供的功能很简单,常用的只有三个方法,即添加 View,更新 View,和删除 View。这三个方法定义在 ViewManager 接口中,而 WindowManager 继承了 ViewManager。

1、ViewManager

源码位置:/frameworks/base/core/java/android/view/ViewManager.java

public interface ViewManager{
    public void addView(View view, ViewGroup.LayoutParams params);
    public void updateViewLayout(View view, ViewGroup.LayoutParams params);
    public void removeView(View view);
}

2、WindowManager

源码位置:/frameworks/base/core/java/android/view/WindowManager.java

public interface WindowManager extends ViewManager {
}

        由此看来 WindowManager 操作 Window 的过程更像是在操作 Window 中的 View,对于那种可以拖动的 Window 效果其实是很好实现,只需要修改 Layo


http://www.kler.cn/news/108556.html

相关文章:

  • 小程序request请求封装
  • 使用 @antfu/eslint-config 配置 eslint (包含兼容uniapp方法)
  • 社恐了怎么办?如何改变社交恐惧症?
  • 代码随想录算法训练营第23期day36|738.单调递增的数字、968.监控二叉树
  • request、response请求转发和重定向
  • C++面试题库
  • el-date-picker日期选择器奇怪的问题解决
  • github搜索技巧探索
  • 人工智能与航天技术的融合:未来发展的新趋势
  • 2015年亚太杯APMCM数学建模大赛B题城市公共交通服务水平动态评价模型求解全过程文档及程序
  • java spring boot 字符串判空
  • 黔院长 | 一文了解五脏的脏象!
  • 【计算机网络】(谢希仁第八版)第二章课后习题答案
  • PHP危险函数
  • Qt之实现支持多选的QCombobox
  • MySQL安装『适用于 CentOS 7』
  • 防止消息丢失与消息重复——Kafka可靠性分析及优化实践
  • 微机原理:汇编语言程序设计
  • 两数之和(C++解法)
  • 【Oracle】Navicat Premium 连接 Oracle的两种方式
  • 分类预测 | Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)
  • Python——新建工程/引入本地库
  • 基于PHP的仓库库存管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 【VR开发】【Unity】【VRTK】1-无代码VRVR开发介绍
  • SQL SELECT TOP, LIMIT, ROWNUM
  • 悟空crm安装搭建 报错[0] RedisException in Redis.php line 56问题处理办法
  • 若依ruoyi-nbcio如何做一个仿钉钉流程设计器的思考
  • SylixOS BSP开发(七)
  • vue源码分析(六)——vnode 和 createElement的使用和作用
  • SQL-正则表达式和约束