Android11/Android Q分屏功能实现

android11/Q分屏实现。

1、先确认支持分屏。

调用boolean supportsSplitScreenMultiWindow = 

                ActivityTaskManager.supportsSplitScreenMultiWindow(mContext);

确认是否支持分屏。

Android11/Android Q分屏功能实现_第1张图片

若返回false,修改frameworks\base\core\res\res\values\config.xml

 config_supportsSplitScreenMultiWindow为true

Android11/Android Q分屏功能实现_第2张图片

2、分屏调用

mActivityTaskMgr.getService().setTaskWindowingModeSplitScreenPrimary(mLeftTask.id, false);
mActivityTaskMgr.getService().resizeTask(mLeftTask.id,mSplitScreenRect,0);

可参考frameworks\base\packages\SystemUI\src\com\android\systemui\recents\OverviewProxyRecentsImpl.java

Android11/Android Q分屏功能实现_第3张图片

3、退出分屏

mActivityTaskMgr.getService().setTaskWindowingMode(mLeftTask.id, WINDOWING_MODE_FULLSCREEN, false);

4、中间分割线

frameworks\base\packages\SystemUI\src\com\android\systemui\stackdivider

Divider.java中添加。

遇到问题:

1、调用分屏接口setTaskWindowingModeSplitScreenPrimary后,并为退出分屏再次调用分屏接口,应用出现黑屏,希望有遇到此问题的可以讲解一下。

2、另请教,进入分屏后可切换右边窗口应用,是否有替换左边窗口应用的方式?

你可能感兴趣的:(android,Android应用开发,java,android,android,studio)