如何在我的应用程序中使用Material Snackbar?

时间:2019-05-03 06:44:25

标签: android android-snackbar material-components-android

我已遵循有关如何在我的应用中实现材料组件的准则,并将Theme.MaterialComponents.NoActionBar分配给了AppTheme,在我的主要活动中,它具有material.io中提到的CoordinatorLayout最好地显示Snackbar,但我得到了这个结果。

enter image description here

编辑:我尝试过更改样式表中Snackbar的背景颜色并设置了textViewStyle,但这些选项不起作用

如果需要更多信息,我将编辑并添加缺少的信息。

3 个答案:

答案 0 :(得分:2)

使用此代码:

snackBarView.getView().setBackgrondColor(ContextCompat.getColor(getActivity(),R.color.Blue));

答案 1 :(得分:0)

您可以像这样更改文本和背景颜色。

  Snackbar snackbar = Snackbar
            .make(view, "Hello", Snackbar.LENGTH_SHORT);
    View sbView = snackbar.getView();
    sbView.setBackgroundColor(Color.RED);
    TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
    textView.setTextColor(Color.WHITE);
    textView.setTypeface(FontHelper.getFont(Fonts.MULI_SEMI_BOLD));
    snackbar.show();

更改小吃店背景颜色的替代方法,请参见链接

https://stackoverflow.com/a/54484438/7108030

如果您仍然有疑问,请分享您的示例代码,如果此答案有帮助,请给出积极的反馈。

答案 2 :(得分:0)

我发现了错误,因为存在<item name="android:background">@color/white</item>覆盖TextView背景色,甚至以小部件的指定样式指定android:background也不会覆盖主AppTheme中指定的主要背景