1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java 强制安卓竖屏 Android4.0强制横屏竖屏

java 强制安卓竖屏 Android4.0强制横屏竖屏

时间:2023-12-05 20:35:40

相关推荐

java 强制安卓竖屏 Android4.0强制横屏竖屏

Android4.0强制横屏竖屏

方法一:

android4.0/frameworks/base/services/Java/com/android/server/wm/WindowManagerService.java

int computeForcedAppOrientationLocked() {

int req = getOrientationFromWindowsLocked();

if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {

req = getOrientationFromAppTokensLocked();

}

// req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; //强制横屏0度

// req = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; //强制竖屏左转90度

return req;

}

方法二:

android4.0/frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp

void GraphicPlane::setDisplayHardware(DisplayHardware *hw)

{

mHw = hw;

// initialize the display orientation transform.

// it's a constant that should come from the display driver.

int displayOrientation = ISurfaceComposer::eOrientationDefault;

char property[PROPERTY_VALUE_MAX];

if (property_get("ro.sf.hwrotation", property, NULL) > 0) {

//displayOrientation

switch (atoi(property)) {

case 0:

displayOrientation = ISurfaceComposer::eOrientationDefault;

break;

case 90:

displayOrientation = ISurfaceComposer::eOrientation90;

break;

case 180:

displayOrientation = ISurfaceComposer::eOrientation180;

break;

case 270:

displayOrientation = ISurfaceComposer::eOrientation270;

break;

}

}

/* 强制旋转90度 */

displayOrientation = ISurfaceComposer::eOrientation90;

const float w = hw->getWidth();

const float h = hw->getHeight();

GraphicPlane::orientationToTransfrom(displayOrientation, w, h,

&mDisplayTransform);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。