带手势导航的小吃店位置错误

问题描述

我正在开发一个显示Snackbar的应用。

Snackbar在我的MainActivity中使用以下代码可以正常工作:

Snackbar snackbar = Snackbar.make(myLayout,"My snackbar",Snackbar.LENGTH_LONG)
                .setBackgroundTint(myColor)
                .setTextColor(ContextCompat.getColor(this,R.color.black));
[...]
snackbar.show();

以下是显示内容:

enter image description here

它适用于每个方向上的每个屏幕以及不同的Android版本。仅针对一种配置,它会产生以下错误:设备使用手势导航时。 (很多新手机)

在这种情况下,Snackbar会在Snackbar和屏幕底部之间留有间隙,如下所示:

enter image description here

我在网上没有找到任何解释,但我自己发现了。

通过打开开发人员选项中的Show layout bounds选项,我们可以观察到“经典”导航栏看起来仍然像在这里,就像可见性设置为View.INVISIBLE一样,我们可以期望{{1 }}的屏幕。

因此,当我尝试显示View.GONE时,它就显示在此“不可见导航栏”的顶部。

这是一些带有布局边界且带有或不带有手势导航的屏幕(在主菜单中):

enter image description here

enter image description here

这是在不同的手机和品牌(Pixel,三星...)以及仿真器上进行的测试。

是否存在正常行为?如何消除这种差距?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)