基于Android 4.4 开发的多窗口系统 开放源码
来源:互联网 发布:达芬奇调色软件12.5 编辑:程序博客网 时间:2024/06/06 06:43
原文地址:http://blog.csdn.net/mirkerson/article/details/46385763
Hi, 这是我基于Android 4.4开发的多窗口系统,还有很多不足,还请多多指教啊,代码已经全部开源。
视频地址
源码地址Done:
1. APP以窗口化显示
在 PhoneWindowManager::layoutWindowLw() 中通过packageName过滤,使指定的APP以非全屏尺寸显示,因为一个APP通常是以一个task为单位,显示多个activity,因此采用packageName过滤的方法。
2. 多个APP同时处于 onResume 状态
修改AMS中通知onPause()的地方,指定pkg不通知pause。关于AMS中activity生命周期控制的地方,是以后需要着重优化的。
3. 修改Window的touch region
修改InputMonitor::addInputWindowHandleLw(), 使得Window拦截touch event的region只在本窗口范围内。
4. Touch的window 上移到屏幕顶层
在AMS,WindowSession中新增接口,在ViewRootImpl里拦截touch event,通过 windowSession通知WMS,和AMS,将Window 和 task 移至顶层。
5. RecentActivity 启动到 APP stack中
由于同stack中task切换时的visibility切换还较好控制,但是如果跨stack切换,控制较为困难,因此将RecentActivity移至APP stack中启动,这样呼出RecentActivity,切换APP时,不会出现一些显示上的bug。
6. 为Window增加titlebar
在PhoneWindow::generateLayout() 中增加titlebar,包括close, minimum, maximum, drag area, resize。
minimum尚未实现,因为还要结合AMS做一些控制activity生命周期的工作。
7. 增加入口APP
提供用户选择让哪个APP以窗口化形式启动,并在ServiceManager中注册了一个自定义的service,里面存放了要窗口化显示的pkgs,然后供framework各处调用。
Next plan:
1. 修正各种bug
bug之多简直不忍直视了。。。关键还是对源码很多地方不够熟悉,因此总是头痛医头,脚痛医教。
2. 熟悉AMS控制流程
设计合理的多窗口activity生命周期,完成 minimum。
更新于20140730-------------------------------------------------------------------------------------------
简单的介绍multi window开发过程的PPT:下载地址
- 基于Android 4.4 开发的多窗口系统 开放源码
- 基于Android 4.4 开发的多窗口系统 开放源码
- 基于Android 4.4 开发的多窗口系统 开放源码
- 基于Android 4.4 开发的多窗口系统 开放源码
- 基于Android 4.4 开发的多窗口系统 开放源码
- 基于Android 4.4 开发的多窗口系统 开放源码 Android 多窗口 开源
- 【转载】基于android的远程视频监控系统(已开放源码)_只有链接
- 基于android的远程视频监控系统(已开放源码)
- 基于android的远程视频监控系统(已开放源码)
- 基于Android系统的企业应用开发(送源码)
- 基于Android系统的企业应用开发(送源码)
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源 .
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 《TCP/IP详解 卷一:协议》读书笔记--链路层
- ocp-40
- 编程题解析-发型糟糕的一天
- 简单的view 自定义
- CodeForces 415B Mashmokh and Tokens
- 基于Android 4.4 开发的多窗口系统 开放源码
- Databus-实时低延时数据抓取系统
- Java 字符串和整型的转换
- mysql 存储字符表情
- POJ: Exponentiation
- xampp3.2.1安装memcached扩展
- 关于Python中全局变量的使用的调试
- hdu 5429(大数)
- 每个线程都有自己的信号屏蔽字,但是信号的处理时进程中所有线程共享的http://bbs.csdn.net/topics/350222437