Android4.4.2KK竖屏强制更改为横屏的初步简略方案 - Go语言中文社区

Android4.4.2KK竖屏强制更改为横屏的初步简略方案


解决方案:

当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以采用编译开关生成系统属性的方式来控制,在系统中通过属性来判断当前的屏幕状态以达到灵活目的,可以在本次修改的基础上增加条件判断达到目的,具体修改代码如下图中圈红标识。

一、Android Framework Java层的修改:

1、WindowManagerService的默认Rotation修改:



2、PhoneWindowManager的Rotation返回修改:



二、Android Framework Native(C/C++)层的修改:


1、SurfaceFlinger的DispalyDevice中默认orientation的修改:



默认frame rect的宽高交换修改:



2、bootanimation中申请的surface frame buffer的宽高交换修改:



问题背景:

1、当前设备是基于Android4.4.2KK

2、将之前的横屏更换成功了竖屏

3、更换屏幕后无法达到预期的横屏效果,包括开机动画、屏幕横竖切换动画、锁屏界面等。



版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/songjinshi/article/details/50586333
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 18:22:01
  • 阅读 ( 1049 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢