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

如何在多窗口模式下获取Android 7的窗口宽度?

在多窗口模式下获取Android 7的窗口宽度,可以通过以下步骤实现:

  1. 首先,需要在AndroidManifest.xml文件中为应用程序添加以下属性:
代码语言:txt
复制
<activity android:name=".MainActivity"
    android:resizeableActivity="true"
    android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"/>

这样可以确保应用程序支持多窗口模式。

  1. 在MainActivity的onCreate方法中,可以使用以下代码获取窗口宽度:
代码语言:txt
复制
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int windowWidth = displayMetrics.widthPixels;

这将获取当前窗口的宽度值。

  1. 如果需要在窗口大小发生变化时获取新的宽度值,可以在MainActivity中重写onConfigurationChanged方法:
代码语言:txt
复制
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        // 横屏模式下的处理
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        // 竖屏模式下的处理
    }
    // 更新窗口宽度
    DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    int windowWidth = displayMetrics.widthPixels;
}

这样,在屏幕旋转或窗口大小发生变化时,可以获取到新的窗口宽度。

总结: 在多窗口模式下获取Android 7的窗口宽度,需要在AndroidManifest.xml中设置resizeableActivity属性为true,并在MainActivity中使用DisplayMetrics获取窗口宽度。同时,可以通过重写onConfigurationChanged方法,在窗口大小发生变化时更新宽度值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

△ 主页横幅 规范布局实践 采用响应式界面不仅仅是为不同屏幕尺寸提供并行结构,应用还要足够灵活,这样才能根据各种需要调整尺寸,例如旋转设备、多窗口模式以及折叠和非折叠姿态。...如平板电脑,部分屏幕区域难以用大拇指触及,用户也很难腾出整只手来自由操控屏幕。用户轻易就能触及屏幕的底部角落,但可能无法触及屏幕最顶端,尤其是在竖屏模式下。...大多数设备上的铰链区域宽度约为 48 dp,在桌面模式下也请避免将界面元素放在铰链区域,因为在这种设备模式下,用户几乎无法使用该区域的任何功能。...在 多窗口模式 下,您的应用可以与其他应用并排使用,除了响应式调整之外,还可以考虑如何让应用在这种模式下发挥更大作用,比如支持拖拽等。这种小功能可以提高用户的工作效率,用户便更乐意使用您的应用。...△ 多窗口模式效果 除了通过触摸进行交互外,大屏幕设备还支持其他交互形式。设备的屏幕尺寸越大,用户就越有可能使用键盘、手写笔、鼠标、游戏手柄或其他外接设备。

4.5K20
  • FAQ | 为大屏幕设备构建应用的常见问题解答

    另外也大大增加了多任务处理的机会,用户可以利用多窗口模式同时执行多项任务,那么我们就有新的机会来考虑,比如,多个应用在彼此相邻时的形态、交互、状态切换等,这些都是不错的切入点。...数据显示,因为更大的屏幕空间,可折叠设备的多任务处理量增加了 7 倍,开发者有必要平衡布局的简单性与灵活性以优化应用,例如开发者在使用新的窗口尺寸类别和视口断点时,如果要优化断点的布局,可以将其视为 3...个基于宽度的断点。...如果您已经做到了这一点,那么接下来您应该确保应用能够在多窗口模式下运行,并且应用的大小可动态调整。...答: 从不同屏幕尺寸的角度来说,平板设备需要考虑的是横屏模式下的中等高度 (Medium height) 和展开宽度 (Expanded width),断点分别是 480dp+ 和 840dp+,桌面设备需要考虑展开高度

    3.5K10

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

    ; (3)在最近任务提供悬浮窗入口; (4)系统导航(Home、Back、Recent)操作在多窗口和独占模式下实现了体验归一,多窗口模式退到后台以后,可以通过最近任务进行快速切换。...如果在悬浮窗下使用的是 Application Context处理UI 相关的事情,会导致加载的资源无法感知到多窗口而显示异常,而使用Activity Context在全屏模式和投屏等模式下依然可以正常显示...activity如何获取特定窗口类型下的窗口尺寸,参考代码: 获取dp: activity.getResources().getConfiguration().screenWidthDp activity.getResources...|orientation" /> 2.4 正确处理多窗口下的沉浸式 在华为智慧分屏或者多窗口模式下,在应用顶部有一个功能bar,因此应用在布局时,需要调用安卓原生的WindowInsetsListener...针对分屏和多窗口模式下的一些创新功能,华为SDK还提供了一些专门的接口,来帮助应用实现快速适配,具体接口和描述如下表所示.

    1.6K30

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

    image 在可折叠设备上提供出色的用户体验,首要确保您的应用程序已准备好两件事: 其一,可在两个屏幕之间无缝切换; 其二,在多窗口模式下处于活动状态。 ? image 1....而Multi-resume就是为了让多窗口分屏的体验更佳而出现的。...从 Android P (9.0) 开始,谷歌提供了名为Multi-resume的新功能,允许设备厂商在多窗口模式下保持所有可见应用处于活动状态,解决了分屏的多个应用仅有一个能保持活动状态的问题。...备用布局,Android允许应用针对不同屏幕配置提供多种备选布局。可以利用配置限定符实现此目的,它允许系统根据当前配置(如针对不同屏幕尺寸的不同布局设计)自动选择合适的资源。...image 在多窗口模式下运行您的应用程序 通过点击其他应用将焦点从第一个应用移动到另一个应用 检查应用程序是否仍处于resumed状态 当您的应用意外丢失资源(例如相机)时,检查应用是否有任何意外行为

    4.1K40

    Android学习--还有一些小技巧

    七、禁止多窗口模式 八、lambda表达式    这个表达式是JAVA 8 的新特性,我们直接在后面完整的Demo中使用,用到的时候再具体的说明 获取全局Context ----      ...  多窗口 ----       Android在7.0之后导入了多窗口模式,在这里我们可以大概的学习一下多窗口模式。      ...在这里我们说一下,在多窗口模式下并不会改变活动原有的生命周期,只是会将用户最近交互过的那个活动设置为运行状态,而将多窗口模式下另外一个可见的活动设置为暂停状态,如果这时候用户又和暂停的活动进行交互,那么该活动就会进入运行状态...前面我们说到在多窗口模式下,活动的生命周期是不会发生改变的,那么有一些问题我们就可以随之考虑一下:       比如说,在多窗口模式下,用户任然处于可以看到暂停状态的应用,那么像视频播放之类的应用在此时就应该是继续播放视频才对...禁止多窗口模式 ----       上面我们说了一些关于多窗口模式的一些问题,现在我们再想一个场景,如果我们做的是游戏,要是进入了多窗口模式是不是很尴尬,总不是一边发微信一遍玩游戏的吧,看着自己GG,

    61530

    Android7.0新特性

    启用该模式,系统将拦截后台数据使用,在适当的情况下减少前台应用使用的数据量,通过配置厂商白名单可以让应用免受该模式的影响。...因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池,开发者想进行进程保活越来越难。 多窗口下的生命周期 targetSdkVersion设置为24,代表该App是支持多窗口的。...进入多窗口模式: onPause OnStop OnDestory onCreate onStart onResume onPause 这个时候的手机已经开启了多窗口模式,只不过当前焦点在另外一个App...退出多窗口模式回到我们的App: OnStop OnDestory onCreate onStart onResume onPause onResume App会经历一次销毁重建后再次失去焦点获取焦点。...禁用多窗口模式 在targetSdkVersion大于24时在清单文件中加入resizeableActivity=false这个属性当开启多窗口模式时会提示用户该应用不支持多窗口; 在小于24的情况下是通过设置禁用横竖屏切换属性来设置不支持多窗口模式的

    39620

    为任意屏幕尺寸构建 Android 界面

    val heightClass: WindowSizeClass get() {...} } 有一点比较重要的是,从 Android 12 开始,将允许应用任意调整尺寸,且允许所有应用都以多窗口模式运行...其中,较小型代表了竖屏模式下手机的典型模式,中等型代表了大部分平板电脑和更大的可折叠设备的尺寸,展开型则代表了平板电脑或更大的可折叠设备,或是桌面设备在横屏模式下的显示情况。...△ Phone Reference Device 下的效果 △ Tablet Reference Device 下的效果 SlidingPanelLayout 接下来让我们继续基于展开型宽度设备来实现双窗口视图布局...在 JetNews 中我们首先获取窗口大小类的信息,在较小和中等型宽度显示单窗口,而在展开型宽度显示列表/详情布局。...获取更好的用户体验 在前文中,我们提到为了提供更好的用户体验,请添加对应用有意义的功能,如支持可折叠设备。

    4.2K20

    剖析桌面化 Android操作系统的发展与未来

    2013 年,Tieto 公司提出了在手机上实现类是 PC 多窗口显示的想法,并展示了基于 Android 4.2/4.4 的多窗口支持技术方案,这个扩展原型系统可运行在 Nexus7 手机上和 Android...且 Android OS 在 6.x 后,也逐步添加了多窗口的支持,只是相对与上述三个多窗口扩展的 Android 系统而言,还略显简单了一些。...且 Google 没有把 Android 扩展到桌面,并不是没有这个技术实力(其实 Android-6.x 已经有平铺式多窗口的探索性的支持,在 Android-7.x 已进一步有堆叠式多窗口的支持),...Remix OS、Phoenix OS、OPNENTHOS 的特点主要体现在支持多窗口,适配面向键盘鼠标的人机交互模式,让典型 Android 应用更贴近传统桌面应用的展现形式。...Android 多窗口的移植改进等。

    1.9K50

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

    前言 有时候,我们在运行多个任务时,需要把窗口同时显示在屏幕上,这样操作比较方便,而且可以避免频繁切换窗口的麻烦。折叠屏设备的分屏模式可以让两个应用或者任务同时在一个屏幕下显示,提高工作效率。...Android的多窗口开发指导: https://developer.android.com/guide/topics/ui/multi-window.html?...hl=zh-cn 2.正确获取应用布局资源 1) 在多窗口模式下,应用布局View要以窗口大小进行,不可以按照屏幕大小布局,如果在窗口模式下还是以屏幕的宽高进行布局,会导致应用的图标截断,布局错乱等布局问题...2) 在多窗口模式下,运行时锁定朝向的方法都是无效的。...(1)宽:高 >= 1:横屏 (2)宽:高 < 1:竖屏 二 数据拖拽 Android原生的拖拽方案详见: https://developer.android.com/guide/topics/ui/drag-drop

    1K40

    深入理解 Android Window系统

    多窗口支持:Window支持多窗口模式,允许在同一屏幕上同时运行多个应用程序或Activity,提供了更多多任务处理的灵活性。...使用DecorView示例 以下是一个示例代码,演示如何在Activity中获取DecorView并更改其背景颜色: // 获取当前Activity的DecorView View decorView =...存在于特殊情况下的窗口 除了上述主要类型的窗口外,还存在一些特殊情况下的窗口,如: Toast窗口:用于显示短暂的通知消息。它们是一种轻量级的提示框,通常不需要用户交互。...系统提示框:用于显示系统级提示,如权限请求、应用更新等。 创建一个简单的Window 首先,让我们创建一个简单的Android Window,这个Window将包含一个文本视图。...例如,我们可以设置Window为全屏模式,设置窗口透明度等。

    70220

    可折叠设备、平板设备和大屏设备更新一览

    开发者还应该让应用支持纵向和横向模式,因为更大的屏幕更可能在横向模式下使用。稍后我们会介绍 Material 自适应组件,来帮助您更好地利用更大的屏幕空间。...△ 由于可折叠和大屏设备的窗口尺寸是可变的,使用自适应布局比根据屏幕尺寸分割体验效果更好 多任务处理 在大屏设备上,用户会默认期待应用支持分屏 (或多窗口模式) 和拖放等互动模式。...您的应用应该允许调整窗口大小,来无缝地支持多任务。请正确处理折叠和展开事件,并让您的应用支持多窗口模式,避免应用窗口区域内出现黑边。...△ SlidingPaneLayout 会自动适应配置的变化,在不同的布局尺寸下提供良好的用户体验 在较小的屏幕上不得不堆叠起来的 UI,在大屏幕上则可以轻松实现并排布局。...例如,如果列表窗格的最小宽度为 200dp,而细节窗格需要 400dp,那么当窗口总宽度在 600dp 或以上时,SlidingPaneLayout 会自动将两个窗格并排显示。

    2.1K20

    为长屏幕设备做好准备

    原文作者: Android 开发者平台 Fred Chung 最近几个月发布的 Android 手机型号,全面屏,特长纵横比(16:9 以上)和圆角的设计都已成为了一种潮流(如 Pixel 2 XL...触摸点击区和 UI 模块(如:按钮)不对齐,从而困惑用户。 在圆角屏幕设备上的全屏模式,任何非常靠近角落的 UI 元素都可能位于弯曲的可视角度区域之外。...请参阅文档的细节: developer.android.google.cn/guide/pract… 多应用窗口显示 特长屏幕设备为多窗口显示的场景提供了更多的可能性,这往往可以提高用户的生产力。...Android 7.0 以上的版本更为开发者提供了多窗口的标准支持。...如果多窗口模式不适用于您的场景(例如全屏游戏),您可以在 API level 24 以上,利用 manifest 的 android:resizeableActivity="false" 属性来禁用多窗口模式

    77830

    Android开发笔记(一百六十七)Android8.0的画中画模式

    前面的博文《Android开发笔记(一百五十九)Android7.0的分屏模式》介绍了Android7.0的多窗口特性,但是这个分屏的区域是固定的,要么在屏幕的上半部分...为此Android8.0又带了另一种更高级的多窗口模式,号称“Picture in Picture”(简称PIP,即“画中画”)。...App页面从全屏模式切换到画中画模式,它的Activity生命周期也会经历销毁后重建的过程,如果开发者想保持App页面不被重建,则需给该页面的activity节点加上以下的属性描述: android...PictureInPictureParams.Builder(); // 设置宽高比例值,第一个参数表示分子,第二个参数表示分母 // 下面的10/5=2,表示画中画窗口的宽度是高度的两倍...若要退出画中画模式,则可点击缩小了的画中画窗口,如下图所示这时该窗口放大些许且画面呈现灰影,表示此刻画中画模式正处于控制操作。

    2.4K30

    全民K歌折叠屏适配探索

    对于宽比高短的视频来说: 在首页(容器高宽固定)情况下,展开时视频高度填满,宽度居中对齐;视频高度填满,宽度按比例溢出。...更好的适配方案 为此,我们得采取自行处理配置变更的方案,一般来说有如下解决策略: 填充适配模式(K歌采取的方案) 多窗口模式 应用内分屏模式 兼容模式 下面,我们先来谈谈全民K歌的适配策略。...填充适配模式 开始之前,我们先了解一下 “什么是填充适配模式?” 在该模式下,应用所处屏幕发生改变时,总能以相对合理的方式重新调整布局,以便能给予用户更好的视觉体验。...填充适配模式(K歌采取的方案) 多窗口模式 应用内分屏模式 兼容模式 多窗口模式 Android 7.0 新增了对同时显示多个应用窗口的支持。...简单来说,其效果还是如分屏模式的效果类似,但同一屏幕的两半展示的均为同一应用的不同Activity。

    2.5K30

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

    多任务处理 从 Android 12 开始多任务处理已经成为日常操作,所有应用均可以在多窗口模式下运行。但是需要注意的是应用可能以分屏模式运行或以窗口形式出现在另一个应用旁边。...多窗口模式 △ 多窗口支持相较之前更易访问 为了支持多任务处理,Android 12L 更新了界面,包括经过改进的供应用切换的任务栏。我们都知道过去用户要进入分屏模式的操作比较繁杂。...兼容模式 △ 兼容模式 — 稳定性和视觉提升 如果您的应用锁定为横向或者纵向模式,并且无法调整大小,那么当用户进入分屏、打开折叠设备,亦或是在 ChromeOS 那样的多窗口环境下,应用也能以兼容模式显示...当需要针对不同的设备类型选择合适的布局时或者在多窗口模式下需要响应窗口的变化时,就需要用到 WindowSize 类。 之前在竖屏模式下,用户大多数时间仅仅操作一个应用,但是平板电脑通常是横屏模式。...该库还支持运行时屏幕和窗口尺寸变更,如果用户折叠或展开设备或在多窗口模式下重新调整窗口大小,展示将会自动更新,您无需额外操作。

    2.4K40

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

    安卓7.0牛轧糖系统 开篇 本文章主要介绍android 7.0中引入的新特性和新功能。 安卓程序员开发者你需要重视一下,以方便日后对android7.0的开发工作。...接下来我们就汇总一下安卓7.0出现的新特性,安卓程序员可查看这些特性,并在此基础之上尝试进行开发工作。 新特性如下: 多窗口支持 从安卓7.0开始,安卓系统开始支持多窗口操作了。...同时这种多窗口的模式在平板或者电视等大屏幕上尤为突出,这些大屏设备甚至可以进行诸如画中画格式。 在多窗口模式中,增加了拖动功能,你可以拖动内容到窗口或者拖动窗口内内容到其他界面了。...对于开发者来说,你只需要设置activity 允许的最小尺寸,这样用户进行缩放的时候,就只能缩放至此大小。当然你也可以禁用多窗口。 ?...安卓多窗口界面 如何使用多窗口模式: 打开多任务管理界面,选择一个应用卡片,拖动至屏幕顶部,即可开启多窗口模式。现在支持上下分屏和左右分屏。 通知增强 安卓7.0中对通知进行了许多增强。

    87230

    Android刘海屏、水滴屏全面屏适配详解

    针对需要适配第二点的应用,需要获取刘海的位置和宽高,然后将显示内容避开即可。 声明最大长宽比 以前的普通屏长宽比为16:9,全面屏手机的屏幕长宽比增大了很多,如果不适配的话就会类似下面这样: ?...这个属性是控制多窗口显示的,决定当前的应用或者Activity是否支持多窗口。...可以在清单的或 节点中设置该属性,启用或禁用多窗口显示,配置如下: android:resizeableActivity=["true" | "false"...如果此属性设置为 false,Activity 将不支持多窗口模式。 如果该值为 false,且用户尝试在多窗口模式下启动 Activity,该 Activity 将全屏显示。...全新的窗口布局属性 layoutInDisplayCutoutMode 让您的应用可以为设备凹口屏幕周围的内容进行布局。

    3K40

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

    平台 API:WindowMetrics[43] 兼容库 API:WindowManager[44] 4.12 多窗口模式标准化 Android 7 系统引入了多窗口模式,允许同时在屏幕上显示多个应用,...目前一共有 3 种多窗口模式: 分屏模式:以左右并排或上下并排显示两个应用; 画中画模式:以叠加的小窗口显示应用; 自由窗口模式:以可移动且可调整显示尺寸的窗口显示应用; 从 Android 12 系统开始...具体如下: Android 7:手机设备支持分屏模式,电视设备支持画中画模式,更大尺寸的设备制造商可以选择启用自由窗口模式。...配置,为所有 Activity 启用多窗口模式。...可以看出,这次改动 Google 是希望大屏设备下的多窗口模式成为标准行为,实现多窗口模式下的体验闭环。

    2.9K10
    领券