赞
踩
正常情况下横竖屏旋转的时候导航栏也会跟着一起旋转,但是在Android R上面发现导航栏在横屏的时候是固定在右侧的,而不是旋转到底部。这个功能其实是Android 高版本特意修改的,为了是方便横屏玩游戏等场景的时候不小心误触到。我们先看看原本的界面图。
【竖屏界面】
【横屏界面】
一开始的时候我以为是在SystemUI里面控制的导航栏旋转界面切换,但是发现并不是这样,其实是跟
framework中的 R.bool.config_navBarCanMove 这个变量有关,具体代码修改很简单,如下:
- diff --git a/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java b/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
- old mode 100644
- new mode 100755
- index 0d467c50aa1..0a7662dd8fc
- --- a/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
- +++ b/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
- @@ -2895,9 +2895,10 @@ public class DisplayPolicy {
-
- void updateConfigurationAndScreenSizeDependentBehaviors() {
- final Resources res = getCurrentUserResources();
- - mNavigationBarCanMove =
- - mDisplayContent.mBaseDisplayWidth != mDisplayContent.mBaseDisplayHeight
- - && res.getBoolean(R.bool.config_navBarCanMove);
- + //mNavigationBarCanMove =
- + // mDisplayContent.mBaseDisplayWidth != mDisplayContent.mBaseDisplayHeight
- + // && res.getBoolean(R.bool.config_navBarCanMove);
- + mNavigationBarCanMove = false;
- mDisplayContent.getDisplayRotation().updateUserDependentConfiguration(res);
- }
-
-
【修改后横屏界面】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。