Android 11.0 解决切换横屏时SystemUI导航栏固定在桌面右侧而不是底部的问题

前言

正常情况下横竖屏旋转的时候导航栏也会跟着一起旋转,但是在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);
     }
 

【修改后横屏界面】

在这里插入图片描述

Android 11 中,状态和通知的设计有所改变,可能会影响到一些应用程序的通知显示。 如果你想要屏蔽状态中的通知,但仍然希望能够收到通知,请尝试以下方法: 1. 检查应用程序通知设置:首先,确保你的应用程序已经开启了通知权限,并且设置了正确的通知渠道。如果应用程序的通知权限被关闭,或者通知渠道被设置为“无声”,那么即使收到了通知,也不会在状态中显示。 2. 检查系统设置:在 Android 11 中,系统设置中新增了一个“通知历史记录”选项,用于控制是否在状态中显示通知。如果你在系统设置中关闭了“通知历史记录”,那么即使收到了通知,也不会在状态中显示。你可以打开系统设置,找到“应用和通知” > “通知历史记录”,然后将其打开即可。 3. 检查第三方应用程序:如果你使用了一些第三方应用程序来管理通知,例如“通知助手”或“通知管理器”,那么可能会导致状态中的通知被屏蔽。你可以尝试卸载这些应用程序,或者在应用程序设置中将其权限关闭,然后重新启动手机。 4. 检查系统版本:最后,如果你的手机使用的是 Android 11 的早期版本,可能会存在一些系统缺陷导致通知无法在状态中显示。你可以尝试升级到最新的系统版本,或者联系手机制造商寻求技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrsongs的心情杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值