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; } }

      

  • 相关阅读:
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    团队作业-随堂小测(同学录)
    Alpha 冲刺 (5/10)
    LeetCode-1
    c++向量
    软件工程实践总结作业
    个人作业——软件产品案例分析
    个人技术博客Alpha----Android Studio学习
  • 原文地址:https://www.cnblogs.com/antoon/p/7155357.html
Copyright © 2011-2022 走看看