首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Android 24+多窗口模式在运行时正确处理区域设置更改?

在Android 24+多窗口模式下,正确处理区域设置更改的方法如下:

  1. 监听配置更改:在Activity中重写onConfigurationChanged()方法,以便在配置更改时进行相应的处理。配置更改包括语言、屏幕方向、字体大小等。
  2. 保存状态:在Activity中重写onSaveInstanceState()方法,将需要保存的数据存储到Bundle对象中。
  3. 恢复状态:在Activity中重写onRestoreInstanceState()方法,从Bundle对象中恢复之前保存的数据。
  4. 重新加载布局:在配置更改后,系统会自动重新加载布局文件。如果你的布局文件有不同的版本(例如,不同语言的字符串资源),系统会根据新的配置加载相应的布局文件。
  5. 处理多窗口模式:在多窗口模式下,可以通过isInMultiWindowMode()方法来判断当前是否处于多窗口模式。根据需要,可以调整布局、显示内容或执行其他操作。
  6. 适配不同屏幕尺寸:在处理区域设置更改时,还需要考虑不同屏幕尺寸的适配。可以使用限定符(例如layout-sw600dp)来为不同屏幕尺寸提供不同的布局文件。

总结起来,正确处理区域设置更改的关键是监听配置更改、保存和恢复状态、重新加载布局、处理多窗口模式和适配不同屏幕尺寸。通过这些步骤,可以确保在Android 24+多窗口模式下正确处理区域设置更改。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云多媒体处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 与 Chrome OS 中针对大屏幕设备的更新

多窗口模式多窗口支持相较之前更易访问 为了支持多任务处理,Android 12L 更新了界面,包括经过改进的供应用切换的任务栏。我们都知道过去用户要进入分屏模式的操作比较繁杂。...请记住,WindowMetrics 可在运行时更改,因此建议值更新时机为最初创建 Activity 的时候以及使用 WindowMetricsCalculator 更改配置的时候。...该库还支持运行时屏幕和窗口尺寸变更,如果用户折叠或展开设备或在多窗口模式下重新调整窗口大小,展示将会自动更新,您无需额外操作。...应用可能出现各种问题,包括布局欠佳,以及应用因为无法正确处理多窗口或尺寸调整事件而发生的崩溃。...如需更深入了解,请移步至我们在 Android 开发者峰会 上推出的更多关于大屏幕主题的技术分享,了解如何使布局更加美观、契合度更高,同时可以正确处理输入。

2.4K40

三星折叠屏开发者设计指南揭秘

image 每当发生配置更改时,Android默认情况下会重启正在运行的Activity(先后调用onDestroy()和onCreate())。...1.2 运行时系统变更 - 自行处理 如果因性能限制等因素希望在不自动重启Activity的情况下处理配置更改,您需要在应用清单manifest中增加android:configChanges属性,...从 Android P (9.0) 开始,谷歌提供了名为Multi-resume的新功能,允许设备厂商在多窗口模式下保持所有可见应用处于活动状态,解决了分屏的多个应用仅有一个能保持活动状态的问题。...但朝任意方向拉伸普通位图可能导致缩放失真或图片倾斜,解决方案是使用九宫格位图,这种特殊格式的PNG文件可指定可拉伸的小像素区域,哪些区域不可拉伸。...如何使用AVD 1)进入Android Studio-> AVD Manager Google官网下载地址: https://developer.android.google.cn/studio/install

4.1K40
  • Android 生命周期备忘录 — 第一部分:单一 Activities

    本文永久链接:github.com/xitu/gold-m… 译者:IllllllIIl 校对者:tanglie1993,atuooo Android 系统的目的是让用户增强控制权并且让他们简便地使用应用程序...---- 单一 Activity — 场景 3:配置发生变化 触发原因: 配置发生变化,例如屏幕旋转 在多窗口模式下,用户调整窗口大小 ?...场景 3:屏幕旋转或其他配置变化 状态处理 像屏幕旋转或窗口大小改变,这种配置变化应该能够让用户在变化后继续无缝使用。...---- 单一 Activity — 场景 4:应用被系统暂停 触发原因: 开启多窗口模式 (API 24+)并且应用失去焦点 另一个应用部分地覆盖在正在运行的应用上面(例如一个购买对话框,一个运行时权限确认对话框...延伸阅读 Android 生命周期备忘录 第二部分 — 多个 activities

    62830

    华为EMUI多窗口模式适配指南

    如何让自己的应用快速适配,第一时间抢占新的应用入口呢? 在本文中,华为技术专家朱登奎将从五个维度为大家分享华为EMUI多窗口模式适配指南。...多窗口的配置属性方法: 在 或 节点中设置该属性,启用或禁用多窗口显示: android:resizeableActivity=["true" | "false..."] 安卓官方多窗口适配参考链接: https://developer.android.com/guide/topics/ui/multi-window.html 2.2 正确使用应用资源 开发者在适配多窗口模式时...如果在悬浮窗下使用的是 Application Context处理UI 相关的事情,会导致加载的资源无法感知到多窗口而显示异常,而使用Activity Context在全屏模式和投屏等模式下依然可以正常显示...|orientation" /> 2.4 正确处理多窗口下的沉浸式 在华为智慧分屏或者多窗口模式下,在应用顶部有一个功能bar,因此应用在布局时,需要调用安卓原生的WindowInsetsListener

    1.5K30

    Android 生命周期备忘录 — 第一部分:单一 Activities

    Android 系统的目的是让用户增强控制权并且让他们简便地使用应用程序。...译者:IllllllIIl 校对者:tanglie1993,atuooo Android 系统的目的是让用户增强控制权并且让他们简便地使用应用程序。...---- 单一 Activity — 场景 3:配置发生变化 触发原因: 配置发生变化,例如屏幕旋转 在多窗口模式下,用户调整窗口大小 场景 3:屏幕旋转或其他配置变化 状态处理 像屏幕旋转或窗口大小改变...,这种配置变化应该能够让用户在变化后继续无缝使用。...---- 单一 Activity — 场景 4:应用被系统暂停 触发原因: 开启多窗口模式 (API 24+)并且应用失去焦点 另一个应用部分地覆盖在正在运行的应用上面(例如一个购买对话框,一个运行时权限确认对话框

    31110

    折叠屏开发指导系列④丨支持分屏和悬浮窗模式,正确获取应用布局资源

    前言 有时候,我们在运行多个任务时,需要把窗口同时显示在屏幕上,这样操作比较方便,而且可以避免频繁切换窗口的麻烦。折叠屏设备的分屏模式可以让两个应用或者任务同时在一个屏幕下显示,提高工作效率。...Android多窗口开发指导: https://developer.android.com/guide/topics/ui/multi-window.html?...hl=zh-cn 2.正确获取应用布局资源 1) 在多窗口模式下,应用布局View要以窗口大小进行,不可以按照屏幕大小布局,如果在窗口模式下还是以屏幕的宽高进行布局,会导致应用的图标截断,布局错乱等布局问题...2) 在多窗口模式下,运行时锁定朝向的方法都是无效的。...URI 实例: content://com.mydomain.fileprovider/my_images/default_image.jpg 如何提高应用的使用体验,需要开发者的积极跟进与完善。

    98440

    第六期零基础高效适配折叠屏活动在云端成功举办

    平行视界以Activity为基本单位以左右窗口分离显示技术、双窗口生命周期管理、双窗口显示模式和切换逻辑为核心技术的实现应用内分屏的系统侧解决方案。...在本议题中,京东高级Android研发耿蕾从适配效果、适配过程、适配方案、规划四方面为开发者演示了京东App折叠屏手机的实战案例。 在适配的过程中,调研确定初步适配方案、预估修改成本。...其中,华为智慧分屏应用适配关键点如下: 1、如何声明支持多窗口 2、正确使用应用资源 3、正确处理Configuration变化 4、正确处理多窗口下的沉浸式 5、华为SDK接口的使用 朱登奎讲师对以上...随着移动终端设备的屏幕尺寸越来越大,多窗口模式势必成为应用显示的一种重要形式,华为的侧边栏Dock也会成为重要的手机应用入口,希望越来越多的应用适配多窗口,丰富手机的多窗口生态。...微博折叠屏手机拖拽适配经验分享 折叠屏手机在微博发布器的场景里是如何实现文字、图片、视频拖拽的呢?

    74430

    提示大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台

    |orientation" android:label="@string/app_name"> 复制代码 正如前文所述,在游戏运行时如果发生配置更改,默认情况下系统会关闭 Activity 然后将其重新启动...如果您的游戏打算保持全屏运行,或者您需要在修 bug 时快速略过配置更改问题,则只需在 manifest 中将 resizableActivity 设置为 false 即可。...MODE_SHORT_EDGES: 不论横竖屏模式,内容都会在凹口区域内渲染。 MODE_NEVER: 内容永远不会在凹口区域内渲染。...您可以参考如下示例来给您的 Activity 设置凹口渲染模式: <item name="<em>android</em>:windowLayoutInDisplayCutoutMode...多重恢复 正如我们之前在适配可折叠设备的话题中提到过的,多重恢复 (Multi-resume) 意味着在<em>多窗口</em><em>模式</em>时让所有可见的 Activity 处于 resumed 状态。

    1.5K30

    大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台

    |orientation" android:label="@string/app_name"> 正如前文所述,在游戏运行时如果发生配置更改,默认情况下系统会关闭 Activity 然后将其重新启动,...如果您的游戏打算保持全屏运行,或者您需要在修 bug 时快速略过配置更改问题,则只需在 manifest 中将 resizableActivity 设置为 false 即可。...MODE_SHORT_EDGES: 不论横竖屏模式,内容都会在凹口区域内渲染。 MODE_NEVER: 内容永远不会在凹口区域内渲染。...您可以参考如下示例来给您的 Activity 设置凹口渲染模式: <item name="<em>android</em>:windowLayoutInDisplayCutoutMode...多重恢复 正如我们之前在适配可折叠设备的话题中提到过的,多重恢复 (Multi-resume) 意味着在<em>多窗口</em><em>模式</em>时让所有可见的 Activity 处于 resumed 状态。

    1.3K20

    折叠屏上应用设计规范,了解一下?

    使用栏式网格在不同屏幕尺寸中对内容进行重排 记住网格系统有助于您选择组件行为,在不同的布局中,以对设备尺寸和场景最有意义的方式决定替换还是更改组件。...大多数设备上的铰链区域宽度约为 48 dp,在桌面模式下也请避免将界面元素放在铰链区域,因为在这种设备模式下,用户几乎无法使用区域的任何功能。...△ 平均分布在铰链两侧的八栏网格 (蓝背景) 适配示例 现在我们来看如何在运行期间利用好折叠状态。Jetpack Window Manager 库提供了相应的 API,可以检测应用窗口是否存在折叠。...在 多窗口模式 下,您的应用可以与其他应用并排使用,除了响应式调整之外,还可以考虑如何让应用在这种模式下发挥更大作用,比如支持拖拽等。这种小功能可以提高用户的工作效率,用户便更乐意使用您的应用。...△ 多窗口模式效果 除了通过触摸进行交互外,大屏幕设备还支持其他交互形式。设备的屏幕尺寸越大,用户就越有可能使用键盘、手写笔、鼠标、游戏手柄或其他外接设备。

    4.5K20

    Android 9.0 强势来袭,带来了哪些新特性?

    Android 9通过以下更改简化了通知渠道设置: 阻止渠道组:用户现在可以在应用的通知设置中阻止整个频道组。...开发者还可以使用更新在运行时替换的UI窗格的标题setAccessibilityPaneTitle()。例如,可以为Fragment对象的内容区域提供标题 。...当一个TYPE_WINDOWS_CHANGED 事件发生时,可以使用 getWindowChanges() API来确定如何在Windows已经改变。在多窗口更新期间,每个窗口都会生成自己的一组事件。...要了解有关如何使应用程序更易于访问以及构建辅助功能服务的详细信息,请参阅辅助功能。 旋转 为了消除无意的旋转,我们添加了一种模式,即使设备位置发生变化也会固定当前方向。...DEX文件的ART提前转换 在运Android 9或更高版本的设备上,Android行时(ART)提前编译器通过将应用程序包中的DEX文件转换为更紧凑的表示形式,进一步优化压缩的Dalvik可执行格式

    3.4K20

    Android7.0新特性

    启用该模式,系统将拦截后台数据使用,在适当的情况下减少前台应用使用的数据量,通过配置厂商白名单可以让应用免受该模式的影响。...支持Java8 Java8的支持使得可以在Android开发者使用Lambda表达式 后台省电 屏幕关闭后后台进程将会被系统限制活动。...多窗口下的生命周期 targetSdkVersion设置为24,代表该App是支持多窗口的。...禁用多窗口模式 在targetSdkVersion大于24时在清单文件中加入resizeableActivity=false这个属性当开启多窗口模式时会提示用户该应用不支持多窗口; 在小于24的情况下是通过设置禁用横竖屏切换属性来设置不支持多窗口模式的...进行代码分析,让它在应用运行时能够持续提升 Android 应用的性能。

    38820

    Android全面屏与异形(刘海)屏的适配教程

    以上图片来自Google Developer 通过文档可以看出从Android7.0开始,应用的多窗口模式默认变为启动,在多窗口模式下,默认已经进行了全面屏适配,如果我们不想应用在多窗口模式下运行,可以修改以下属性...: android:resizeableActivity="false" 此时,我们可以手动进行设置最大屏幕宽高比: android8.0及以上: <activity android:maxAspectRatio...,如果手动进行设置了最大宽高比,一定要将多窗口模式设置为false,否则不生效....全屏未适配刘海屏页面 全屏界面未适配刘海时,不能使用刘海区域,所以会出现出图所示效果,严重时可能会将底部控件顶下去,为了解决这个问题,需要对其进行适配 ?...全屏未适配刘海屏页面 全屏适配刘海屏页面 通过查看WindowManager的源码可以看到共有3种显示模式,: //默认情况,全屏页面不可用刘海区域,非全屏页面可以进行使用 public static

    3.2K10

    Android 新特性_Android10使用

    在运Android N 的手机和平板电脑上,用户可以并排运行两个App,或者处于分屏模式时一个App位于另一个App之上。...2.3 多窗口模式配置 2.3.1 多窗口模式 android:resizeableActivity=["true" | "false"] 在清单文件的 或 节点中设置该属性,启用或禁用多窗口显示: 如果该属性设置为...如果此属性设置为 false,Activity 将不支持多窗口模式。 如果该值为 false,且用户尝试在多窗口模式下启动 Activity,该 Activity 将全屏显示。...在 Android N 中,可以基于内容提供程序中的更改安排后台工作。弃用了一些会降低系统性能的较旧模式。...官方文档汉化 Android N 预览版官网几乎所有文档都已汉化,别再给自己找理由了,你可以学的有: 行为变更 后台优化 语言和区域设置: API 概览 多窗口支持 通知 直接启动 Data Saver

    1.2K20

    Android程序员 安卓7.0的新特性奉上 重视这些改变

    安卓7.0牛轧糖系统 开篇 本文章主要介绍android 7.0中引入的新特性和新功能。 安卓程序员开发者你需要重视一下,以方便日后对android7.0的开发工作。...同时这种多窗口模式在平板或者电视等大屏幕上尤为突出,这些大屏设备甚至可以进行诸如画中画格式。 在多窗口模式中,增加了拖动功能,你可以拖动内容到窗口或者拖动窗口内内容到其他界面了。...对于开发者来说,你只需要设置activity 允许的最小尺寸,这样用户进行缩放的时候,就只能缩放至此大小。当然你也可以禁用多窗口。 ?...安卓多窗口界面 如何使用多窗口模式: 打开多任务管理界面,选择一个应用卡片,拖动至屏幕顶部,即可开启多窗口模式。现在支持上下分屏和左右分屏。 通知增强 安卓7.0中对通知进行了许多增强。...安卓手机中的通知 配置文件指导的JIT/AOT编译 在android7.0中增加了JIT(即时)编译器,对ART进行代码分析,让它可以在应用运行时持续提升 Android 应用的性能。

    86130

    全面解读系统更新,收藏下这份 Android 12 (S) 版本适配自查表

    用户体验 自定义通知外观模板统一 强制❗ 自定义通知的内容区域缩小为自定义通知模板内的一块区域,不再完整覆盖通知区域 画中画 (PiP) 交互改进 推荐⭐ 优化画中画 (PiP) 模式的用户交互 Toast...安全和隐私设置(以 Android 12 为目标版本) 2.1 新蓝牙运行时权限(新功能) Android 12 系统引入了新的运行时权限 BLUETOOTH_SCAN[5]、BLUETOOTH_ADVERTISE...平台 API:WindowMetrics[43] 兼容库 API:WindowManager[44] 4.12 多窗口模式标准化 Android 7 系统引入了多窗口模式,允许同时在屏幕上显示多个应用,...开发者可以设置 android:resizeableActivity=”false” 禁用多窗口模式,确保 Activity 始终以独占屏幕的方式显示; Android 8:手机设备也支持画中画模式;...可以看出,这次改动 Google 是希望大屏设备下的多窗口模式成为标准行为,实现多窗口模式下的体验闭环。

    2.8K10

    Android 8.0 功能和 API(翻译自Google官网)

    画中画模式 Android 8.0 允许以画中画 (PIP) 模式启动操作组件。PIP 是一种特殊的多窗口模式,最常用于视频播放。...如需了解详细信息,请参阅多窗口生命周期。 要指定您的 Activity 可以使用 PIP 模式,请在清单中将 android:supportsPictureInPicture 设置为 true。...;只有在您的 Activity 支持其他多窗口模式时,才需要设置 android:resizeableActivity。)...注:如果 Activity 支持多窗口模式,则 Android 8.0将为该 Activity 自动启用多显示器支持。您应测试您的应用, 确保它在多显示器环境下可正常运行。...行时和工具 平台优化 Android 8.0 为平台引入了运行时优化和其他优化,这些优化将带来多项性能改进。这些优化包括并发压缩垃圾回收、更有效的内存利用和代码区域

    2.9K30
    领券