如何知道何时可以看到Samsung S8,S8 +,S9等底部导航栏?

时间:2018-07-13 03:32:38

标签: android bottomnavigationview

Samsung S8,S8 +,S9等上的底部导航栏会导致UI和动画的噩梦,因为关闭该视图后,视图会从应用程序的顶部和底部移入和移出。对于这些设备,如果打开导航栏,则一切正常,但如果将其关闭,则动画均不足导航栏的高度。我的想法是调整动画,但是,要弄清楚手机的底部导航栏是处于关闭状态还是关闭状态,我很难过。

我创建了一个帮助程序方法,该方法非常出色,让我知道设备已打开导航栏。对于具有导航栏且已打开的所有设备,此功能将返回true。但是我要处理的情况是将其关闭。问题是,关闭电话就像其他所有电话一样。如何解决呢?有没有办法强制导航栏永久且始终显示?

   public static boolean hasNavBar(@NonNull Activity activity, @NonNull View rootView) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
            return true;
        }

        // retrieve the window manager for showing custom windows
        Display d = activity.getWindowManager().getDefaultDisplay();
        DisplayMetrics realDisplayMetrics = new DisplayMetrics();
        d.getRealMetrics(realDisplayMetrics);

        int viewHeight = rootView.getHeight();
        if (viewHeight == 0) {
            return true;
        }
        int realHeight = realDisplayMetrics.heightPixels;
        return realHeight != viewHeight;
    }

0 个答案:

没有答案