1

我想将快餐栏锚定到 Android 原生底部导航栏。

正如我看到的文档:

锚定 Snackbar 默认情况下,Snackbar 将锚定到其父视图的底部边缘。但是,您可以使用 Snackbar#setAnchorView 方法使 Snackbar 出现在布局中特定视图的上方,例如 FloatingActionButton。如果您想在屏幕底部的导航元素(例如 BottomAppBar 或 BottomNavigationView)上方放置 Snackbar,这将特别有用。

我看到了这篇关于如何获取Android原生底部导航栏的帖子。

int id = resources.getIdentifier("config_showNavigationBar", "bool", "android");
        return id > 0 && resources.getBoolean(id);

但是,它只是我可以获得的布尔值而没有视图本身的 id 吗?

4

1 回答 1

1

据我了解,您需要将快餐栏放在底部导航上方,您需要做的就是:

val bottomNavigation: BottomNavigationView = findViewById(R.id.bottom_navigation)
Snackbar.make(it, "Hello World", Snackbar.LENGTH_LONG).setAnchorView(bottomNavigation).show()

注意:关于Snackbars和一般 Android 设计的一个很好的文档。

于 2020-05-10T23:07:24.760 回答