android - 导航栏后面的 Snackbar

标签 android navigationbar snackbar

在横向模式下,我正在使用

    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

显示和隐藏导航栏。

当我在显示导航时创建 Snackbar

Snackbar bar  = Snackbar.make(snackbarContainer, "exiting", Snackbar.LENGTH_INDEFINITE);
    bar.setAction("Testing", new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //no-op
        }
    });
    bar.show();

Snackbar 的操作文本被导航栏覆盖。 有没有办法根据导航栏是否显示自动调整 snackbar 的宽度?

最佳答案

可能您正在搜索这个:

private void displaySnackBarWithBottomMargin(Snackbar snackbar, int sideMargin, int marginBottom) {
    final View snackBarView = snackbar.getView();
    final FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) snackBarView.getLayoutParams();

    params.setMargins(params.leftMargin + sideMargin, params.topMargin, params.rightMargin + sideMargin, params.bottomMargin + marginBottom);

    snackBarView.setLayoutParams(params);
    snackbar.show();
}

实际上是在: https://stackoverflow.com/a/34844669/371749

如果您从导航栏高度 (48dp) 添加边距底部,它会完美地显示在导航栏上方。

关于android - 导航栏后面的 Snackbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36588881/

相关文章:

android - 在 Butterknife 中使用多种方法将多个 View 绑定(bind)到一个监听器

ios - 如何在 NavigationController 之后的 TabBar 连接的 ViewController 中显示 navigationItem.title

html - 导航菜单停留在 IE 中

java - SnackBar出现动画

android - 获取snackbar支持库的高度

android - 重启安卓工作室

android - 使用 onItemClick 从 DialogFragment 中的 ListView 获取数据

java - 在 HTTP GET 上, header 是否先出现,然后是正文(使用来自 apache 的 HttpClient 库)?

当导航栏隐藏时,iOS 个人热点会破坏布局