android 分屏模式适配,安卓适配分屏注意事项
分屏模式下可强制应用横屏,所以注意应用内强制竖屏的页面适配横屏显示
分屏模式下,获取应用所占用的宽高
getResources().getConfiguration().screenWidthDp
getResources().getConfiguration().screenHeightDp
多窗口变更通知和查询
//Activity 提供以下方法来支持多窗口显示:
isInMultiWindowMode()
//调用该方法以确认 Activity 是否处于多窗口模式:
onMultiWindowModeChanged()
应用声明使用多窗口
android:allowBackup=“true”
android:resizeableActivity=“true“ //只能在24以及24以上的手机生效
声明config
android:name=".MainActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"/>
重写方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
/获取应用的窗口大小
int w_window = getResources().getConfiguration().screenWidthDp;
int h_window = getResources().getConfiguration().screenHeightDp;
/获取应用的窗口大小,根据刷新的应用window宽度,动态调整应用的布局
… …
}
如果应用必须进行重新走生命周期来以响应屏幕切换,需要进行状态的保存和恢复。
您可以通过onSaveInstanceState()和ViewModel对象来进行之前状态保存和后续的恢复。
即,在销毁activity之前,通过onSaveInstancesState()存储状态, 在onCreate() o或者
onRestoreInstanceState()进行状态的恢复。
某些系统 UI 自定义选项将被禁用;例如,在非全屏模式中,应用无法隐藏状态栏
所以应用在分屏模式下需要把关键控件放在状态栏下方区域显示,否则可能出现应用布局
被状态栏遮挡的问题,适配建议:
获取系统状态栏高度:
public static int getStatusBarHeight(Context context) {
int result = 0; int resourceId = context.getResources().getIdentifier("status_bar_height",
"dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
android 分屏模式适配,安卓适配分屏注意事项相关推荐
- android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...
原标题:安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行 安卓手机锁屏后,很多程序就会自动关闭,实际上,这是安卓手机的一种保护机制.为了使系统能够流畅稳定的运行以及更加省电,它都会在手机 ...
- 安卓分屏模式的简单适配
Android N 添加了对同时显示多个应用窗口的支持. 手机上两个应用可以在"分屏"模式中左右并排或上下并排显示. 如何进入分屏模式 打开App,长按底部Overview按键(底 ...
- android分屏模式_安卓 7.0 分屏功能详解:三种模式,想分就分
IT之家讯 8月18日消息,安卓7.0的一大特色就是自带全新分屏功能,分为多画面显示模式.画中画模式和自由分屏模式三种,本文将详细介绍这三种模式. 多画面显示模式 启动该模式的方法有两种,一是在后台应 ...
- android投影到创维电视,安卓手机投屏到电视的3个方法,赶紧收藏!
关于手机投屏到电视的文章,小编已经给大家分享了不少,包括不同品牌电视的投屏方法,还是有不少的网友对手机投屏不太了解,特别是安卓手机很多人不会投屏,今天小编再给大家细说下安卓手机投屏方法. 一.视频播放 ...
- win11触屏模式在哪 Windows11触屏模式的设置方法
win11系统的功能是非常多的,比如win11触屏模式就是win11平板模式,只有开启了这个模式就可以触屏了,那么win11平板模式在哪呢?下面小编就教大家win11怎么开启平板模式.更多Window ...
- 安卓投屏大师_安卓免费录屏软件哪个好用 免费长时间录屏软件推荐
安卓免费录屏软件哪个好用,安卓市场上的录屏软件也是比较的多,而且很多都是收费,有很多的小伙伴们对于这个录屏也是有着一定的需求,对此也是想要知道安卓免费录屏软件哪个好用有哪些,下面就一起来看看吧. 安卓 ...
- ios12完美深色模式插件_暗黑模式?安卓适配一波
前言 成为一名优秀的Android开发,需要一份完备的 知识体系 ,在这里,让我们一起成长为自己所想的那样~. 第一次听到暗黑模式的时候,感觉好酷啊,听着就好看(也不知道我怎么听出来的).苹果在前几年 ...
- APP适配安卓手机刘海屏
如果你想允许全屏界面内容显示到刘海区域 ,只要在AndroidManifest.xml文件里配置如下代码即可: <!--允许绘制到oppo.vivo刘海屏机型的刘海区域 --> <m ...
- android 上面月亮模式,玩安卓套路?月亮模式与息屏显示,iPhone13爆料多可信?...
原标题:玩安卓套路?月亮模式与息屏显示,iPhone13爆料多可信? 相信各位最近有关于iPhone 13或者是iPhone 12s的爆料也是看得比较多了,基本上每天刷新新闻媒体流软件都能够看到号称是 ...
最新文章
- archlinux mariadb躺坑
- python求无序列表中位数_python 实现在无序数组中找到中位数方法
- android 时间戳 时区,三句话理解时区与时间戳
- Python制作回合制手游外挂简单教程(下)
- 数据挖掘原理与算法_资料 | 数据挖掘:概念、模型、方法和算法(第2版)/ 国外计算机科学经典教材...
- [c/c++] programming之路(12)、循环结构
- 中国邮箱品牌使用情况调研——TOM邮箱
- Fedora 30 将默认启用 DNF-best 模式
- 今日发现一个挺好的软件,控制音量 App音量控制(App Volume Control)v2.17 安卓版
- 命名时取代基优先顺序_求在有机化学的命名中,较优基团的排列顺序在有机化学的命名中,较优基团的排列顺序.急用....
- android4.4中添加方案,Android4.0-4.4 添加实体按键振动支持的方法(java + smali版本)
- nginx-rtmp 的部署
- 寒江独钓——Windows内核安全编程
- Flink编程中遇到”scala.tools.reflect.ToolBoxError: reflective compilation has failed“的解决方法
- 身体这些部位不舒服的时候,你知道意味着什么吗?
- 2022年G3锅炉水处理国家题库及在线模拟考试
- 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(17):函数矩阵的微分和积分
- matlab关于图像增强的毕业论文,基于MATLAB的图像增强技术处理毕业论文
- sping boot 配置多数据源
- Unity的陀螺仪实现
热门文章
- Java注释的重要性
- centos8在桌面添加pycharm和idea快捷方式没有allow launching选项问题
- 英文歌曲:cross every river( 穿过每一条河 )
- js:写一个函数实现任意数组的翻转
- spss对数据进行聚类分析(系统聚类法和k-均值聚类法)和判别分析(费歇尔和贝叶斯)。
- laravel 一次对多个字段进行 increment 或者decrement 操作
- duilib库combo box提供输入字符模糊查询
- 利用sublime text进行文本对比,替换收费的sublimemerge插件
- OpenCV角点检测源代码分析(Harris和ShiTomasi角点)
- iphone屏幕尺寸总结