安卓10.0 分屏相关

安卓10.0 分屏

packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskMenuView.java

208 private void addMenuOption(TaskSystemShortcut menuOption, OnClickListener onClickListener) {

209 ViewGroup menuOptionView = (ViewGroup) mActivity.getLayoutInflater().inflate(

210 R.layout.task_view_menu_option, this, false);

211 menuOption.setIconAndLabelFor(

212 menuOptionView.findViewById(R.id.icon), menuOptionView.findViewById(R.id.text));

213 menuOptionView.setOnClickListener(onClickListener);

214 mOptionLayout.addView(menuOptionView);

215 }

packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java

public static class SplitScreen extends MultiWindow

sysUiProxy.onSplitScreenInvoked()

frameworks/base/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java

private boolean onLongPressNavigationButtons(View v, @IdRes int btnId1, @IdRes int btnId2)

onLongPressRecents()

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java

public void toggleSplitScreen()

protected boolean toggleSplitScreenMode(int metricsDockAction, int metricsUndockAction)

分屏流程:

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java

//长按任务栏进行分屏

onLongPressRecents()

mStatusBarLazy.get().toggleSplitScreenMode(MetricsEvent.ACTION_WINDOW_DOCK_LONGPRESS,MetricsEvent.ACTION_WINDOW_UNDOCK_LONGPRESS);

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java

toggleSplitScreenMode(int metricsDockAction, int metricsUndockAction)

mRecentsOptional.get().splitPrimaryTask(createMode, null, metricsDockAction);

frameworks/base/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyRecentsImpl.java

public boolean splitPrimaryTask(int stackCreateMode, Rect initialBounds, int metricsDockAction)

//支持分屏多窗口

if (runningTask.supportsSplitScreenMultiWindow) {

if (ActivityManagerWrapper.getInstance().setTaskWindowingModeSplitScreenPrimary(

runningTask.id, stackCreateMode, initialBounds)) {

mDividerOptional.ifPresent(Divider::onDockedTopTask);

// 全景服务正在处理拆分屏幕,因此只需跳过等待第一个绘制的通知,并通知分屏器立即开始制作动画。

mDividerOptional.ifPresent(Divider::onRecentsDrawn); return true; } } else { //不支持分屏多窗口 Toast.makeText(mContext, R.string.dock_non_resizeble_failed_to_dock_text,Toast.LENGTH_SHORT).show(); }新增setTaskWindowingModeSplitScreenPrimary函数,该函数可将任务移动至WindowingMode与ActivityType匹配SPLIT属性栈的Stack运行;

相关推荐
aqi0019 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
墨天梦20 小时前
B19_SunnyWeather到阅读客户端
android·kotlin
美狐美颜sdk21 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
用户69371750013841 天前
2026,程序员的时代拐点到了
android·前端·后端
浪潮IT馆1 天前
Android Studio 非最新版本下载安装教程
android·ide·android studio
xiaozongt19891 天前
MasterGo + Claude Code 生成 Android 布局:完整实践指南
android
Anhty1 天前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
2501_915909061 天前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
狗凯之家源码网1 天前
AI 步数修改提交系统源码应用场景与落地指南
android·数据库·人工智能·运动步数
ZHOUPUYU1 天前
PHP 9.0 前瞻:下一代 PHP 会带来哪些新功能?
android·开发语言·php