Skip to content

Commit fe98481

Browse files
committed
Improve ScreenUtils#getHeightOfNavigationBar
1 parent 8bf46cb commit fe98481

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

autosize/src/main/java/me/jessyan/autosize/utils/ScreenUtils.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import android.content.res.Resources;
2020
import android.graphics.Point;
2121
import android.os.Build;
22+
import android.provider.Settings;
2223
import android.util.DisplayMetrics;
2324
import android.view.Display;
2425
import android.view.WindowManager;
@@ -82,6 +83,13 @@ public static int[] getScreenSize(Context context) {
8283
}
8384

8485
public static int getHeightOfNavigationBar(Context context) {
86+
//如果小米手机开启了全面屏手势隐藏了导航栏则返回 0
87+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
88+
if (Settings.Global.getInt(context.getContentResolver(), "force_fsg_nav_bar", 0) != 0) {
89+
return 0;
90+
}
91+
}
92+
8593
Display d = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
8694

8795
int realHeight = getScreenSize(context)[1];

demo/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ android {
2121
}
2222

2323
dependencies {
24-
implementation 'me.jessyan:autosize:0.7.0'
25-
// implementation project(':autosize')
24+
// implementation 'me.jessyan:autosize:0.7.0'
25+
implementation project(':autosize')
2626
implementation 'com.android.support:appcompat-v7:27.1.1'
2727
implementation 'cat.ereza:customactivityoncrash:2.2.0'
2828
testImplementation 'junit:junit:4.12'

0 commit comments

Comments
 (0)