android4.0强制横屏竖屏

点击(此处)折叠或打开

  1. 方法一:
  2. android4.0/frameworks/base/services/java/com/android/server/wm/WindowManagerService.java

  3.  int computeForcedAppOrientationLocked() {
  4.         int req = getOrientationFromWindowsLocked();
  5.         if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
  6.             req = getOrientationFromAppTokensLocked();
  7.         }

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

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

  10.         return req;
  11.     }


  12. 方法二:
  13. android4.0/frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp

  14. void GraphicPlane::setDisplayHardware(DisplayHardware *hw)
  15. {
  16.     mHw = hw;

  17.     // initialize the display orientation transform.

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

  19.     int displayOrientation = ISurfaceComposer::eOrientationDefault;
  20.     char property[PROPERTY_VALUE_MAX];
  21.     if (property_get("ro.sf.hwrotation", property, NULL) > 0) {
  22.         //displayOrientation

  23.         switch (atoi(property)) {
  24.         case 0:
  25.             displayOrientation = ISurfaceComposer::eOrientationDefault;
  26.             break;
  27.         case 90:
  28.             displayOrientation = ISurfaceComposer::eOrientation90;
  29.             break;
  30.         case 180:
  31.             displayOrientation = ISurfaceComposer::eOrientation180;
  32.             break;
  33.         case 270:
  34.             displayOrientation = ISurfaceComposer::eOrientation270;
  35.             break;
  36.         }
  37.     }
  38.     /* 强制旋转90度 */
  39.     displayOrientation = ISurfaceComposer::eOrientation90;

  40.     const float w = hw->getWidth();
  41.     const float h = hw->getHeight();
  42.     GraphicPlane::orientationToTransfrom(displayOrientation, w, h,
  43.             &mDisplayTransform);
  44. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值