android中的全局SnackBar

Posted

技术标签:

【中文标题】android中的全局SnackBar【英文标题】:Global SnackBar in android 【发布时间】:2016-11-06 02:31:28 【问题描述】:

我是 android 新手,我想在我的 android 应用程序中实现一个小吃店。我也想在全球范围内实现它。我用谷歌搜索,发现我需要为视图创建一个坐标布局。然后我写像snackbar(coordinatelayout, text, time);

如何使这个静态。这样我的代码将得到优化?请告诉我。

【问题讨论】:

全球范围内????似乎您不想在所有活动中创建它。好的,但这是不可能的。您必须为每个活动(布局)创建它。将在其上显示的布局。快餐栏需要父布局。它不适用于上下文。所以你不能这样做。 为什么不可能。? 是的,这是可能的。如果您对所有活动使用相同的 xml 布局。所以一切都取决于你。 我知道你在找什么。但是有些东西需要在那个类中声明和初始化。您可以将 ValidateEmail() 等常用函数放在特定类中。因此,您可以在需要的地方使用它们。 如果我们在我们的 utils 中定义任何方法,使用 static 并使用 snapbar 传递一个全局上下文,然后使用 className.methodname,它不会访问???实际上我是android新手,所以我有点困惑。 【参考方案1】:

我在整个项目中都使用 FAB 和 CoordinatorLayout,所以我设法实现了一种静态(全局)方法,它工作正常!

试试这个功能...

public static void showSnack(CoordinatorLayout cl, int color, String message,Context context)
    Snackbar sb = Snackbar.make(cl, message, BaseTransientBottomBar.LENGTH_LONG);
    sb.getView().setBackgroundColor(ContextCompat.getColor(context, color));
    sb.show();

那就叫它吧……

showSnack(cl, R.color.black, "Hi snack!", MainActivity.this);

我希望它有所帮助。

【讨论】:

以上是关于android中的全局SnackBar的主要内容,如果未能解决你的问题,请参考以下文章

Android应用程序中的全局变量不持久

如何将 Cloud Firestore 中的数据分配给 Android 的全局变量 [重复]

Android 开发版本统一

在android中声明全局变量[重复]

Android将textColor值设置为全局

android studio:设置全局字符串数组时遇到问题