android屏幕旋转在framework中的修改。

本文介绍了如何在Android的framework层修改屏幕旋转,以适应平板电脑的应用程序旋转需求。通过调整PhoneWindowManager.java文件中的旋转角度设置,实现屏幕从默认的横屏变为竖屏,并确保与手机屏幕方向一致,兼容多数gsensor游戏。此外,还提供了针对Android Froyo版本在SurfaceFlinger.cpp中的简单修改方法,以及早期版本通过kernel参数和fbcon配置进行屏幕旋转的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在eoeandroid上写, 记录过来。

   在framework中修改,可以随意修改屏幕0°指向的方向,其实也是framework层做的映射。 修改HAL层来修改屏幕0°指向的方向应该也是可以的,还没有试过, 估计会复杂点,应该要修改触摸屏的坐标, 触摸键值映射表, 比较麻烦,其实没什么必要,修改framework层就可以搞定了。

 

平板电脑一般是默认横屏, 竖屏的APP程序, 会自动旋转90°, 由于是顺时针转90°, 需要改为逆时针转90°; 也就是要把portrait改逆时针转90°,这样就和手机一致,兼容很多gsensor游戏, 修改点如下:

PhoneWindowManager.java(//192.168.1.4/opt/android_froyo_smdk/frameworks/policies/base/phone/com/android/internal/policy/impl)


public int rotationForOrientationLw(int orientation, int lastRotation,


boolean displayEnabled) {

 


if (mPortraitRotation < 0) {


// Initialize the rotation angles for each orientation once.


Display d =((WindowManager)mContext.getSystemService(Co

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值