问题描述
我正在开发一个显示Snackbar
的应用。
此Snackbar
在我的MainActivity
中使用以下代码可以正常工作:
Snackbar snackbar = Snackbar.make(myLayout,"My snackbar",Snackbar.LENGTH_LONG)
.setBackgroundTint(myColor)
.setTextColor(ContextCompat.getColor(this,R.color.black));
[...]
snackbar.show();
以下是显示内容:
它适用于每个方向上的每个屏幕以及不同的Android版本。仅针对一种配置,它会产生以下错误:设备使用手势导航时。 (很多新手机)
在这种情况下,Snackbar
会在Snackbar
和屏幕底部之间留有间隙,如下所示:
我在网上没有找到任何解释,但我自己发现了。
通过打开开发人员选项中的Show layout bounds
选项,我们可以观察到“经典”导航栏看起来仍然像在这里,就像可见性设置为View.INVISIBLE
一样,我们可以期望{{1 }}的屏幕。
因此,当我尝试显示View.GONE
时,它就显示在此“不可见导航栏”的顶部。
这是一些带有布局边界且带有或不带有手势导航的屏幕(在主菜单中):
这是在不同的手机和品牌(Pixel,三星...)以及仿真器上进行的测试。
是否存在正常行为?如何消除这种差距?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)