Android屏幕翻转180度,然后旋转至正确方向
由于硬件问题,我们必须将开发的Android平板电脑上下180度安装。我们通过进行以下更改,将屏幕翻转回正确的方向: “frameworks/base/services/surfaceflinger/surfaceflinger.cpp” void GraphicPlane::setDisplayHardware(DisplayHardware*hw) . . displayOrientation=ISurfaceComposer::eOrientation90; 打破 +案例180: +displayOrientation=ISurfaceComposer::eOrientation180//cdh +中断; 案例270: displayOrientation=ISurfaceComposer::eOrientation270; 中断 “system/core/rootdir/init.rc” 看起来一切正常,但不知何故,屏幕将翻转180度,然后在旋转过程中显示正确的方向。该平板电脑在安卓IC上运行,带有陀螺仪和加速度传感器 我尝试从“frameworks/base/core/jave/android/view/WindowOrientationListener.java”检查窗口方向侦听器日志,并确保旋转期间的方向正确 我对传感器轴方向做了一些更改(在传感器驱动程序上),但不知何故,这并没有帮助。有什么建议可以帮助解决这个问题吗 感谢所有评论 谢谢, MM看看“frameworks/base/services/surfaceflinger/LayerScreenshot.cpp”及其方法:“LayerScreenshot::initTexture”。修改这些参数:Android屏幕翻转180度,然后旋转至正确方向,android,rotation,screen,Android,Rotation,Screen,由于硬件问题,我们必须将开发的Android平板电脑上下180度安装。我们通过进行以下更改,将屏幕翻转回正确的方向: “frameworks/base/services/surfaceflinger/surfaceflinger.cpp” void GraphicPlane::setDisplayHardware(DisplayHardware*hw) . . displayOrientation=ISurfaceComposer::eOrientation90; 打破 +案例180: +dis
mTexCoords[0] = 0; mTexCoords[1] = v;
mTexCoords[2] = 0; mTexCoords[3] = 0;
mTexCoords[4] = u; mTexCoords[5] = 0;
mTexCoords[6] = u; mTexCoords[7] = v;
作为:
或者其他可以解决你的问题的人。
希望能对您有所帮助谢谢您的建议。我通过在frameworks/base/services/java/com/android/server/wm/ScreenRotationAnimation.java文件的createRotationMatrix()旋转开关中交换矩阵旋转(0 180;90 270)来解决这个问题。屏幕现在可以正确平稳地旋转。
mTexCoords[0] = 0; mTexCoords[1] = v;
mTexCoords[2] = 0; mTexCoords[3] = 0;
mTexCoords[4] = u; mTexCoords[5] = 0;
mTexCoords[6] = u; mTexCoords[7] = v;
mTexCoords[0] = u; mTexCoords[1] = 0;
mTexCoords[2] = u; mTexCoords[3] = v;
mTexCoords[4] = 0; mTexCoords[5] = v;
mTexCoords[6] = 0; mTexCoords[7] = 0;