尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

如何完整的隐藏android activity

如何完整的隐藏android activity
📅 发布时间:2026/7/5 13:27:45

android activity 渲染逻辑是个复杂而庞大的系统逻辑, 牵涉到客户端渲染, 系统端渲染, 软件渲染, 硬件渲染, java代码处理逻辑, cpp代码处理逻辑.

写过activity的朋友都清楚, activity渲染是从layout.xml文件开始, 在xml文件里定义了activity使用的各种控件已经他们的布局关系.

系统从读取这份文件开始渲染, 首先解析各个控件的布局关系, 为每个控件分配空间.如果用代码动态修改了这份文件(增加和删除控件,或者修改控件属性), 每次修改都会触发系统重新解析文件, 重新执行后面的逻辑.

当每个控件都分配好空间和位置后, 就会把控制权逐个分配给挂在layout树的每个节点控件了, 进行控件的渲染. 控件渲染有两种模式, 一种是cpu渲染(软件渲染), 一种是gpu渲染(硬件渲染).

cpu渲染,是调用一组特定的cpu画图api, 把内容直接渲染出来. 而gpu渲染是把渲染指令装入到DisplayList列表中, 然后post给gpu渲染线程, 使用gpu高速渲染.

两者渲染方式对比, cpu渲染方式在main thead里把所有的内容都渲染出来了, main thread干的活更多, gpu渲染方式只是在main thread把渲染指令加入到DisplayList, main thread干的活相对教轻, 所以使用gpu渲染方式界面表现地更加流畅.

activity的所有内容都渲染到一个叫surface的对象上, 然后通过native的api, 把这个surface post到android系统服务进程中, 系统服务进程然后把所有客户端post过来的surface按照一定的规则, 合成最终显示的画面, 交给display显示出来.

activity的view树是挂在一个root view的下面, 可以通过activity.getWindow().getDecorView()得到, 如果要隐藏整个activity, 就是要把activity变透明, 让这个activity下面的activity的内容显示到最前面.

如果只调用activity.getWindow().getDecorView().setAlpha(0.0f) 是没有用的, 这样做只是把root view变透明了, 界面上显示的一层全黑的画布.

这层画布是surface的底色, activity所有的内容都这块画布上渲染, 如果只把activity的渲染内容设置成透明, 那么画布的底色就会显现出来, 遮挡了下层activity的内容.

有没有什么方式让surface画布也变透明呢? 有的, 有的,兄弟, 就是调用下面神奇的api:

activity.setTheme(android.R.style.Theme_Translucent_NoTitleBar);//先把activity的主题设置成可透明主题activity.setTranslucent(true);// setTranslucent(true) 把surface画布变成透明

这样做就可以把activity变成完全透明, 下层的activity的内容才能完全无遮挡的显示出来.

相关新闻

  • 外贸ERP怎么选:纯CRM够不够,什么时候非上进出口一体不可
  • 2026年温州装修设计大揭秘!哪家口碑好,看完这篇全知道
  • SpringBoot3.x新特性解读与迁移指南

最新新闻

  • 乡村的毛细血管:Nature Trace Farmscapes 2020 Vectorised 数据集
  • Ultralytics:解读C1模块
  • 基于51单片机的温度烟雾火灾报警系统—LCD1602显示,ADC0809模数转换
  • AI基础0-人工智能的数学基础
  • TotalSegmentator:如何快速实现医学图像中117个解剖结构的自动分割?
  • OneNote专业迁移指南:终极免费工具助你无损转换到Markdown

日新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号