zoukankan      html  css  js  c++  java
  • SystemUI中设置横竖屏显示

    SystemUI中快捷菜单有 “方向锁定” 。

    RotationLockTile

      protected void handleClick() {
            if (mController == null) return;
            MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
            final boolean newState = !mState.value;
            mController.setRotationLocked(!newState);//这里执行方向锁定
            refreshState(newState);
        }
    

    RotationLockControllerImpl

      public void setRotationLocked(boolean locked) {
            RotationPolicy.setRotationLock(mContext, locked);//执行方向锁定
        }
    

    这个快捷菜单只能在手机已经显示横屏或竖屏后,才能执行,无法预设锁定方向。

    2,StatusBarWindowManager中设置锁屏横屏显示。 

    private void adjustScreenOrientation(State state) {
    
            if (state.isKeyguardShowingAndNotOccluded()) {
    //注释掉源码中对方向的处理 // if (mKeyguardScreenRotation) { // mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_USER; // } else { // mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_NOSENSOR; // } mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; //指定锁屏模式下,固定横屏显示。 } else { mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; } }

      

  • 相关阅读:
    Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图
    用VC实现特定编辑框上对回车键响应
    22.职责链模式
    21.策略模式
    20.状态模式
    19.解释器模式
    18.备忘录模式
    17.中介者模式
    16.观察者模式
    15.迭代器模式
  • 原文地址:https://www.cnblogs.com/antoon/p/7155357.html
Copyright © 2011-2022 走看看