vip学员作业--横屏下面怎么自适应展示竖屏应用方案征集(排除原生letterbox方式)

本文主要是介绍vip学员作业--横屏下面怎么自适应展示竖屏应用方案征集(排除原生letterbox方式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:

昨天相关的视频和公众号blog已经讲解了,横屏下如何正确显示竖屏app相关android原生的处理方案具体链接如下:
https://mp.weixin.qq.com/s/P95rN7dBOSCENc38KZ4Ulg
在这里插入图片描述

采用了原生letterbox即装相框模式画面变成如下:
在这里插入图片描述

letterbox上面画面确实实现了横屏情况下可以正常展示竖屏的app,但是真实使用起来也有比较多的问题

1、Activity虽然竖屏显示,但是底部画面可能显示不全

在这里插入图片描述

如上面的这个Activity,明显就底部压根没有显示,因为letterbox模式计算的宽高根本无法让Activity显示完全

2、部分Activity会显示异常,布局彻底乱,本质还是因为letterbox模式计算出来的App的bounds和正常的竖屏手机
屏幕大小还是有很大差异,哪怕bounds本身也是等比例的,对于app里面布局可能是一些写死的像素等

总结:
当前的原生letterbox确实一定程度上解决了竖屏app在横屏显示的问题,但实际上了各个应用后问题还是很多,特别是对各个app展示适配情况,一样有很多很多的ui显示问题。那么有没有更多方案来解决上面这个痛点呢

讨论和实践的作业

征集相关厂商修改方案

ps:完整方案投稿者有奖励或者新课程优惠
这个希望各位学员积极参与哈,这里大家不用拿自己厂商的方案分享害怕涉及泄密等,但是完全可以调研xxx竞品厂商的方案拿来分享,,大家懂的。
这里有条件的同学可以认真去尝试调研,有疑问等欢迎找马哥一起沟通,一起调研。

我这里可以给大家一些思路:

1、想一想在分屏pip自由窗口课程时候,自由窗口那么小的窗口是如何做到的布局显示正常,完美的使用,布局不乱

2、考虑考虑是否针对app的confiration进行hook修改,欺骗app让他以为是手机大小的竖屏

3、是否可以考虑多display相关方案,搞个手机竖屏的display?

以上是一些思路,大家可以朝一个方向努力,实现对这个痛点的解决,然后给出相关的成果秀

最后一句经典名言:
在这里插入图片描述

本文章更多详细代码和资料需要购买课程获取
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
在这里插入图片描述

私聊作者+v(androidframework007)

其他课程七件套专题:在这里插入图片描述
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw

视频试看:
https://www.bilibili.com/video/BV1wc41117L4/

这篇关于vip学员作业--横屏下面怎么自适应展示竖屏应用方案征集(排除原生letterbox方式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045898

相关文章

如何突破底层思维方式的牢笼

我始终认为,牛人和普通人的根本区别在于思维方式的不同,而非知识多少、阅历多少。 在这个世界上总有一帮神一样的人物存在。就像读到的那句话:“人类就像是一条历史长河中的鱼,只有某几条鱼跳出河面,看到世界的法则,但是却无法改变,当那几条鱼中有跳上岸,进化了,改变河道流向,那样才能改变法则。”  最近一段时间一直在不断寻在内心的东西,同时也在不断的去反省和否定自己的一些思维模式,尝试重

[职场] 护理专业简历怎么写 #经验分享#微信

护理专业简历怎么写   很多想成为一名护理方面的从业者,但是又不知道应该怎么制作一份简历,现在这里分享了一份护理方面的简历模板供大家参考。   蓝山山   年龄:24   号码:12345678910   地址:上海市 邮箱:jianli@jianli.com   教育背景   时间:2011-09到2015-06   学校:蓝山大学   专业:护理学   学历:本科

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

idea lanyu方式激活

访问http://idea.lanyus.com/这个地址。根据提示将0.0.0.0 account.jetbrains.com添加到hosts文件中,hosts文件在C:\Windows\System32\drivers\etc目录下。点击获得注册码即可。

ABAP怎么把传入的参数刷新到内表里面呢?

1.在执行相关的功能操作之前,优先执行这一段代码,把输入的数据更新入内表里面 DATA: lo_guid TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lo_guid.CALL METHOD lo_guid->check_changed_data.CALL M

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用。如果你看不懂,请留言。 完整代码: <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><ti

以canvas方式绘制粒子背景效果,感觉还可以

这个是看到项目中别人写好的,感觉这种写法效果还可以,就存留记录下 就是这种的背景效果。如果想改背景颜色可以通过canvas.js文件中的fillStyle值改。 附上demo下载地址。 https://download.csdn.net/download/u012138137/11249872