跳转至

Android系统导航栏和状态栏配置

Rockchip 配置方法

命令行修改

命令行隐藏状态栏:

(ADB)$ am broadcast -a android.intent.action.HIDE_STATUSBAR_BAR

命令行显示状态栏:

(ADB)$ am broadcast -a android.intent.action.SHOW_STATUSBAR_BAR

命令行隐藏导航栏:

$ am broadcast -a android.intent.action.HIDE_NAVIGATION_BAR

命令行显示导航栏:

$ am broadcast -a android.intent.action.SHOW_NAVIGATION_BAR

APP修改

从网盘中获取状态栏和导航栏测试APP

SDK 源码修改

默认隐藏状态栏

Android13 默认隐藏状态栏修改如下:

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -952,6 +952,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
         mRegisterStatusBarResult = result;

         createAndAddWindows(result);
+        hideStatusBar();

         if (mWallpaperSupported) {
             // Make sure we always have the most current wallpaper info.

Android13 默认禁止状态栏下拉修改如下:

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -536,10 +536,12 @@ public class CommandQueue extends IStatusBar.Stub implements

     // TODO(b/118592525): add multi-display support if needed.
     public boolean panelsEnabled() {
-        final int disabled1 = getDisabled1(mDisplayTracker.getDefaultDisplayId());
-        final int disabled2 = getDisabled2(mDisplayTracker.getDefaultDisplayId());
-        return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
-                && (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0;
+        return false;
+        // final int disabled1 = getDisabled1(mDisplayTracker.getDefaultDisplayId());
+        // final int disabled2 = getDisabled2(mDisplayTracker.getDefaultDisplayId());
+        // return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
+        //         && (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0;
+        
     }

默认隐藏导航栏

Android13默认隐藏导航栏修改如下:

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -952,6 +952,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
         mRegisterStatusBarResult = result;

         createAndAddWindows(result);
+        hideNavigation();

         if (mWallpaperSupported) {
             // Make sure we always have the most current wallpaper info.

默认使用手势导航

Android13 默认使用手势导航:

--- a/device/rockchip/rk356x/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/device/rockchip/rk356x/overlay/frameworks/base/core/res/res/values/config.xml
@@ -61,7 +61,7 @@
          0: 3 button mode (back, home, overview buttons)
          1: 2 button mode (back, home buttons + swipe up for overview)
          2: gestures only for back, home and overview -->
-    <integer name="config_navBarInteractionMode">0</integer>
+    <integer name="config_navBarInteractionMode">2</integer>
     <bool name="config_swipe_up_gesture_setting_available">true</bool>
 </resources>

AllWinner 配置方法

A133 命令行修改

通过设置系统属性修改:

setprop persist.sys.ban_sb true
setprop persist.sys.ban_nb true
reboot