OpenHarmony关于修改系统横屏导致启动视频显示不全问题解决
2023-12-15 10:52:11
前言
OpenHarmony源码版本:4.0release
开发板:DAYU / rk3568
前段时间写的设置OpenHarmony启动视频,在竖屏状态下是正常的,但是横屏状态下显示不全。
链接直达:OpenHarmony 设备启动Logo和启动视频替换指南-CSDN博客
一、原因分析
系统源码中,系统(main.cpp)在读取屏幕宽高时,所读取到的宽高还是竖屏的宽高值:720*1280。(猜测可能是modeinfo获取高度比display_manager_config.xml的时机要早,C代码水平有限,如果有大神对读取时机有了解可以给解释下)
main.cpp代码目录:源码目录下? /foundation/graphic/graphic_2d/frameworks/bootanimation/src
二、修改C代码
通过原因分析后,我们知道横屏状态下读取到的宽高仍然是720*1280,要想显示正常需要将宽高调换,修改如下:
bootAnimation.Run(defaultId, 1280, 720);
这里的修改方法比较暴力,直接将宽高写死了。比较好的方式是
第1方案:修改源码,使modeinfo获取高度时机要晚于display_manager_config.xml的配置。
第2方案:先获取屏幕的方向,如果是竖屏方向正常设置,如果是竖屏,将宽高值对换下。
(以上方案都是自己的猜想,C语言能力有限,只能简单修改下代码,如果有大神知道怎么修改,可以在评论区回复下,感谢!!)
修改前效果:
修改后效果:
文章来源:https://blog.csdn.net/Abner_Crazy/article/details/134828013
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!