android - 向 Snackbar View 添加边距

标签 android android-layout android-snackbar snackbar

我正在更新我当前的应用程序以使用 snackbars,在 Google 规范中它们展示了使用它们的各种方式 http://www.google.com/design/spec/components/snackbars-toasts.html#snackbars-toasts-specs

示例 A:

Snackbar with margin

示例 B:

Snackbar pinned to layout

这是我的自动取款机代码:

Snackbar snackbar = Snackbar.make(mParentLayout, displayMessage,     
    Snackbar.LENGTH_LONG);
    snackbar.setAction(actionMessage, mClickListener);
    snackbar.show();

我在示例 B 中得到了结果,

如何添加边距?

最佳答案

除了 Saeid 的回答,您还可以获得默认的 SnackBar 布局参数并根据需要进行修改:

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

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

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

关于android - 向 Snackbar View 添加边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31514019/

相关文章:

java - 无法添加窗口Android对话框

Android ndk ffmpeg : Unknown mnemonic error

android - 在上下文操作模式下选择时,ListView 项目在视觉上不会变为 "highlighted"

java - ActionBar 上的 NullPointerException

Android - 在布局 XML 中使用自定义 SurfaceView

android - 如何自定义 Snackbar 中 Action 按钮的样式

android - 如何在 fragment 对话框下显示 SnackBar?

java - Android - 获取用户在webview中点击的链接

android - 最新 Material 设计版本中的渲染问题 "Path.op() not supported"

android - 在 androidx 中更改 snackbar 字体