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的主要内容,如果未能解决你的问题,请参考以下文章