原创首发
MtkSettings:设置-显示-隐藏导航栏和状态栏开关添加&屏幕底部上划和屏幕顶部下划显示导航栏和状态栏

好久没写过文章,摸鱼写一个安卓十三的文章,下次写安卓十四的文章,这个是一个客户的需求,需求为:设置中加入一个按钮用来控制导航栏、状态栏的显示与隐藏,在状态栏和导航栏隐藏的时候,上划又会出现状态栏和导航栏,五秒无操作又会自己隐藏掉,类似沉浸式的那种效果,按钮示例照片如下: 下面开始讲怎么实现的这个需求,下面是实现的逻辑: 第一步先在设置中添加一个按钮,我是添加在设置-显示里面了 第二步在这个按钮里面实现控制导航栏和状态栏的显示与隐藏 第三步再对导航栏和状态栏操作 第四步对当前导航栏和状态栏显示隐藏的状态进行判断,如果是隐藏的上划就要显示,如果是显示的无操作五秒以后就要隐藏掉(这一步是最难的) 上代码开始展示:
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
index 1d2c343a451..f2e2dc74a8a 100755
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
@@ -314,4 +314,7 @@
<!-- Whether tilt to bright is enabled by default. -->
<bool name="def_wearable_tiltToBrightEnabled">false</bool>
+
+ <!-- Hide Navigation and StatusBar -->
+ <bool name="def_hide_navigation">true</bool>
</resources>
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml
index 65c112b727f..14529bd33eb 100755
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml
@@ -117,6 +117,10 @@
settings:keywords="@string/keywords_auto_rotate"
settings:controller="com.android.settings.display.AutoRotatePreferenceController"/>
+ <SwitchPreference
+ android:key="hide_navigation"
+ android:title="@string/hide_navigation" />
+
<!--
Auto-rotation preference that will be shown when device state based auto-rotation
settings are available.
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml
old mode 100644
new mode 100755
index 76a5db7f7e7..f19f32d7f0c
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml
@@ -14191,5 +14191,6 @@
<string name="bt_le_audio_scan_qr_code_scanner">To start listening, center the QR code below</string>
<!-- [CHAR LIMIT=NONE] Hint for QR code process failure -->
<string name="bt_le_audio_qr_code_is_not_valid_format">QR code isn\u0027t a valid format</string>
+ <string name="hide_navigation">Hide Navigation and StatusBar</string>
</resources>
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml
index a58c4ae33dc..30597d8d380 100755
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml
@@ -5796,5 +5796,6 @@
<string name="zone_auto_summaryOff">使用网络提供的时区</string>
<string name="zone_auto_summaryOn">使用网络提供的时区</string>
<string name="date_time_24hour_auto_summary">使用区域设置默认值</string>
+ <string name="hide_navigation">隐藏导航栏和状态栏</string>
</resources>
上述几个文件的改动是在设置-显示中添加一个开关,下面是对这个开关的操作,以及其中的逻辑:
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/HideNavigationPreferenceController.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/HideNavigationPreferenceController.java
new file mode 100755
index 00000000000..8ae7f2281f8
--- /dev/null
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/HideNavigationPreferenceController.java
@@ -0,0 +1,61 @@
+package com.android.settings.display;
+
+import android.content.Context;
+import android.provider.Settings;
+import androidx.preference.SwitchPreference;
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
+import android.content.Intent;
+import android.util.Log;
+
+public class HideNavigationPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+ private static final String TAG = "HideNavigationPreferenceController";
+
+ private static final boolean DEBUG = true;
+
+ private static final String KEY_HIDE_NAVIGATION = "hide_navigation";
+
+ public static final String ACTION_HIDE_NAVIGATION_AND_STATUSBAR = "com.android.action.hideNavAndStatusBar";
+
+
+ public HideNavigationPreferenceController(Context context) {
+ super(context);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_HIDE_NAVIGATION;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return true;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ int value = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.SYSTEM_HIDE_NAVIGATION, 0);
+ ((SwitchPreference) preference).setChecked(value != 0);
+ Log.d(TAG, "updateState value is " + value);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ boolean value = (Boolean) newValue;
+
+ if(DEBUG) {
+ Log.d(TAG, "key value " + value);
+ }
+ Log.d(TAG, "onPreferenceChange, value is " + value);
+ Settings.Global.putInt(
+ mContext.getContentResolver(), Settings.Global.SYSTEM_HIDE_NAVIGATION, value ? 1 : 0);
+
+ Intent intent = new Intent(ACTION_HIDE_NAVIGATION_AND_STATUSBAR);
+ mContext.sendBroadcast(intent);
+ return true;
+ }
+}
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java
old mode 100644
new mode 100755
index d756af77d2a..d186c209f97
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java
@@ -345,7 +345,7 @@ public class NavigationBarController implements
});
}
- void removeNavigationBar(int displayId) {
+ public void removeNavigationBar(int displayId) {
NavigationBar navBar = mNavigationBars.get(displayId);
if (navBar != null) {
navBar.destroyView();
diff --git a/alps_mssi/frameworks/base/core/api/current.txt b/alps_mssi/frameworks/base/core/api/current.txt
old mode 100644
new mode 100755
index 5cb1ce061b6..ddd072f21a9
--- a/alps_mssi/frameworks/base/core/api/current.txt
+++ b/alps_mssi/frameworks/base/core/api/current.txt
@@ -35739,6 +35739,7 @@ package android.provider {
field @Deprecated public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions";
field public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
field @Deprecated public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
+ field @Deprecated public static final String SYSTEM_HIDE_NAVIGATION = "hide_navigation";
field public static final String TEXT_AUTO_CAPS = "auto_caps";
field public static final String TEXT_AUTO_PUNCTUATE = "auto_punctuate";
field public static final String TEXT_AUTO_REPLACE = "auto_replace";
diff --git a/alps_mssi/frameworks/base/core/java/android/provider/Settings.java b/alps_mssi/frameworks/base/core/java/android/provider/Settings.java
old mode 100644
new mode 100755
index 96cc1f89255..28a6a26c053
--- a/alps_mssi/frameworks/base/core/java/android/provider/Settings.java
+++ b/alps_mssi/frameworks/base/core/java/android/provider/Settings.java
@@ -3658,6 +3658,7 @@ public final class Settings {
MOVED_TO_GLOBAL.add(Settings.Global.AIRPLANE_MODE_ON);
MOVED_TO_GLOBAL.add(Settings.Global.AIRPLANE_MODE_RADIOS);
MOVED_TO_GLOBAL.add(Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
+ MOVED_TO_GLOBAL.add(Settings.Global.SYSTEM_HIDE_NAVIGATION);
MOVED_TO_GLOBAL.add(Settings.Global.AUTO_TIME);
MOVED_TO_GLOBAL.add(Settings.Global.AUTO_TIME_ZONE);
MOVED_TO_GLOBAL.add(Settings.Global.CAR_DOCK_SOUND);
@@ -4292,6 +4293,12 @@ public final class Settings {
*/
@Deprecated
public static final String AIRPLANE_MODE_RADIOS = Global.AIRPLANE_MODE_RADIOS;
+
+ /**
+ * @deprecated Use {@link android.provider.Settings.Global#SYSTEM_HIDE_NAVIGATION} instead
+ */
+ @Deprecated
+ public static final String SYSTEM_HIDE_NAVIGATION = Global.SYSTEM_HIDE_NAVIGATION;
/**
* @deprecated Use {@link android.provider.Settings.Global#AIRPLANE_MODE_TOGGLEABLE_RADIOS} instead
@@ -11035,6 +11042,12 @@ public final class Settings {
@Readable
public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";
+ /**
+ * Hide Navigation and StatusBar
+ * @hide
+ **/
+ public static final String SYSTEM_HIDE_NAVIGATION = "hide_navigation";
+
/**
* A comma separated list of radios that should to be disabled when airplane mode
* is on, but can be manually reenabled by the user. For example, if RADIO_WIFI is
diff --git a/alps_mssi/frameworks/base/core/proto/android/providers/settings/global.proto b/alps_mssi/frameworks/base/core/proto/android/providers/settings/global.proto
old mode 100644
new mode 100755
index 3c2a48a51b0..d895aaccb18
--- a/alps_mssi/frameworks/base/core/proto/android/providers/settings/global.proto
+++ b/alps_mssi/frameworks/base/core/proto/android/providers/settings/global.proto
@@ -45,6 +45,11 @@ message GlobalSettingsProto {
optional SettingProto radios = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
optional SettingProto toggleable_radios = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
}
+ message StatusBar {
+ option (android.msg_privacy).dest = DEST_EXPLICIT;
+ optional SettingProto on = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
+ }
+
optional AirplaneMode airplane_mode = 5;
reserved 6; // alarm_manager_constants
diff --git a/alps_mssi/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java b/alps_mssi/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
old mode 100644
new mode 100755
index 6b493c112d6..4da7d14e810
--- a/alps_mssi/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/alps_mssi/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -114,6 +114,7 @@ import android.os.UserHandle;
import android.util.ArraySet;
import android.util.PrintWriterPrinter;
import android.util.Slog;
+import android.util.Log;
import android.util.SparseArray;
import android.view.DisplayCutout;
import android.view.DisplayInfo;
@@ -135,6 +136,7 @@ import android.view.WindowManagerGlobal;
import android.view.WindowManagerPolicyConstants;
import android.view.accessibility.AccessibilityManager;
import android.window.ClientWindowFrames;
+import android.provider.Settings;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
@@ -444,6 +446,11 @@ public class DisplayPolicy {
? mStatusBar
: findAltBarMatchingPosition(ALT_BAR_TOP);
requestTransientBars(bar, true /* isGestureOnSystemBar */);
+ boolean hideNavStatus = Settings.Global.getInt(mContext.getContentResolver(),Settings.Global.SYSTEM_HIDE_NAVIGATION,0) != 0;
+ if (hideNavStatus) {
+ mContext.sendBroadcast(new Intent("com.android.action.swipeformtop"));
+ Log.d("swl","form top send broadcast");
+ }
}
}
@@ -455,6 +462,11 @@ public class DisplayPolicy {
? mNavigationBar
: findAltBarMatchingPosition(ALT_BAR_BOTTOM);
requestTransientBars(bar, true /* isGestureOnSystemBar */);
+ boolean hideNavStatus = Settings.Global.getInt(mContext.getContentResolver(),Settings.Global.SYSTEM_HIDE_NAVIGATION,0) != 0;
+ if (hideNavStatus) {
+ mContext.sendBroadcast(new Intent("com.android.action.swipeformbottom"));
+ Log.d("swl","form bottom send broadcast");
+ }
}
}
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/DisplaySettings.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/DisplaySettings.java
old mode 100644
new mode 100755
index cb7de6e8ece..1fe0c9b5da2
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/DisplaySettings.java
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/DisplaySettings.java
@@ -36,6 +36,7 @@ import com.android.settingslib.search.SearchIndexable;
import com.mediatek.settings.display.AodPreferenceController;
import com.mediatek.settings.display.MiraVisionPreferenceController;
import com.mediatek.settings.display.HdmiPreferenceController;
+import com.android.settings.display.HideNavigationPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -93,6 +94,9 @@ public class DisplaySettings extends DashboardFragment {
/// @}
/// M: add for HDMI settings @{
controllers.add(new HdmiPreferenceController(context));
+ /// @}
+ /// M: add for HIDE Navigation and StatusBar settings @{
+ controllers.add(new HideNavigationPreferenceController(context));
/// @}
return controllers;
}
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
old mode 100644
new mode 100755
index 9c891b0531c..1d03a1436d6
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2450,6 +2450,10 @@ class DatabaseHelper extends SQLiteOpenHelper {
loadStringSetting(stmt, Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS,
R.string.airplane_mode_toggleable_radios);
+
+ // Hide Navigation and StatusBar
+ loadBooleanSetting(stmt, Settings.Global.SYSTEM_HIDE_NAVIGATION,
+ R.bool.def_hide_navigation);
loadBooleanSetting(stmt, Settings.Global.ASSISTED_GPS_ENABLED,
R.bool.assisted_gps_enabled);
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
old mode 100644
new mode 100755
index ccfeae43e8b..a646ae93c4e
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -181,6 +181,10 @@ class SettingsProtoDumpUtil {
dumpSetting(s, p,
Settings.Global.AIRPLANE_MODE_RADIOS,
GlobalSettingsProto.AirplaneMode.RADIOS);
+ dumpSetting(s, p,
+ Settings.Global.SYSTEM_HIDE_NAVIGATION,
+ GlobalSettingsProto.StatusBar.ON);
+
dumpSetting(s, p,
Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS,
GlobalSettingsProto.AirplaneMode.TOGGLEABLE_RADIOS);
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java
old mode 100644
new mode 100755
index d756af77d2a..d186c209f97
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java
@@ -345,7 +345,7 @@ public class NavigationBarController implements
});
}
- void removeNavigationBar(int displayId) {
+ public void removeNavigationBar(int displayId) {
NavigationBar navBar = mNavigationBars.get(displayId);
if (navBar != null) {
navBar.destroyView();
这个就是在系统设置中自己定义一个属性值:Settings.Global.SYSTEM_HIDE_NAVIGATION,通过读取当前导航栏的状态,下面是对整个需求逻辑的处理:
diff --git a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
old mode 100644
new mode 100755
index a853747bc20..0f780ac1e43
--- a/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/alps_mssi/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -282,6 +282,8 @@ public class CentralSurfacesImpl extends CoreStartable implements
"com.android.systemui.statusbar.banner_action_cancel";
private static final String BANNER_ACTION_SETUP =
"com.android.systemui.statusbar.banner_action_setup";
+ private static final String ACTION_HIDE_NAVIGATION_AND_STATUSBAR = "com.android.action.hideNavAndStatusBar";
+ private RegisterStatusBarResult result = null;
private static final int MSG_OPEN_SETTINGS_PANEL = 1002;
private static final int MSG_LAUNCH_TRANSITION_TIMEOUT = 1003;
@@ -960,7 +962,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
mKeyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
mWallpaperSupported = mWallpaperManager.isWallpaperSupported();
- RegisterStatusBarResult result = null;
+ //RegisterStatusBarResult result = null;
try {
result = mBarService.registerStatusBar(mCommandQueue);
} catch (RemoteException ex) {
@@ -1454,6 +1456,10 @@ public class CentralSurfacesImpl extends CoreStartable implements
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
filter.addAction(Intent.ACTION_SCREEN_OFF);
+ filter.addAction(Intent.ACTION_BOOT_COMPLETED);
+ filter.addAction(ACTION_HIDE_NAVIGATION_AND_STATUSBAR);
+ filter.addAction("com.android.action.swipeformtop");
+ filter.addAction("com.android.action.swipeformbottom");
mBroadcastDispatcher.registerReceiver(mBroadcastReceiver, filter, null, UserHandle.ALL);
}
@@ -2729,6 +2735,47 @@ public class CentralSurfacesImpl extends CoreStartable implements
}
finishBarAnimations();
resetUserExpandedStates();
+ } else if (Intent.ACTION_BOOT_COMPLETED.equals(action) || ACTION_HIDE_NAVIGATION_AND_STATUSBAR.equals(action)) {
+ boolean hideNavStatus = Settings.Global.getInt(mContext.getContentResolver(),Settings.Global.SYSTEM_HIDE_NAVIGATION,0) != 0;
+ if (getNavigationBarView() != null && hideNavStatus) {
+ Log.d("swl","hide NavigationBar and StatusBar! ");
+ mStatusBarView.setVisibility(View.GONE);
+ mNavigationBarController.removeNavigationBar(mDisplayId);
+ } else {
+ Log.d("swl","show NavigationBar and StatusBar! ");
+ mStatusBarView.setVisibility(View.VISIBLE);
+ createNavigationBar(result);
+ }
+ } else if (action.equals("com.android.action.swipeformtop")) {
+ Log.d("swl","received com.android.action.swipeformtop");
+ if (getNavigationBarView() == null) {
+ Log.d("swl","swipeformtop: show NavigationBar and StatusBar");
+ mStatusBarView.setVisibility(View.VISIBLE);
+ createNavigationBar(result);
+ mMainHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Log.d("swl","swipeformtop: hide NavigationBar and StatusBar");
+ mStatusBarView.setVisibility(View.GONE);
+ mNavigationBarController.removeNavigationBar(mDisplayId);
+ }
+ },5000);
+ }
+ } else if (action.equals("com.android.action.swipeformbottom")) {
+ Log.d("swl","received com.android.action.swipeformbottom");
+ if (getNavigationBarView() == null) {
+ Log.d("swl","swipeformbottom: show NavigationBar and StatusBar");
+ mStatusBarView.setVisibility(View.VISIBLE);
+ createNavigationBar(result);
+ mMainHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Log.d("swl","swipeformbottom: hide NavigationBar and StatusBar");
+ mStatusBarView.setVisibility(View.GONE);
+ mNavigationBarController.removeNavigationBar(mDisplayId);
+ }
+ },5000);
+ }
}
Trace.endSection();
}
因为这个是一个联动需求,很多文件联动起来了,拆分不了成一个一个文件修改讲解,但是整体看下来还是很容易就可以看懂的,具体改动的文件就这十几个: 欢迎各位大佬批评指正,不明白的也可以在下方评论,我看到会解答的