如果我们使用大量的 Snackbars,创建一个控制 Snackbar 创建的类会更好,还是会降低性能?因为我们将为垃圾收集器(该创建者类的实例)再创建一个对象。
我经常使用这样的代码:
final Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Added to favourites", Snackbar.LENGTH_LONG);
snackbar.setAction("UNDO", new View.OnClickListener() {
@Override
public void onClick(View view) {
snackbar.dismiss();
}
});
snackbar.show();
或相同但也有颜色选项:
View sbView = snackbar.getView();
TextView textView = (TextView) sbView.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextColor(ContextCompat.getColor(MyApplication.getAppContext(), R.color.accentColor));
snackbar.show();
创建这样一个类来制作这些 Snackbars 是一个好主意,还是只会更加重视性能?
现在有了一个辅助类,代码看起来更具可读性:
SnackBarHelper snackBarHelper = new SnackBarHelper(coordinatorLayout, "You already signed up for this one!", Snackbar.LENGTH_LONG);
snackBarHelper.addColor(R.color.accentColor);
snackBarHelper.getMySnackbar().show();
这虽然没有 onclick 代码。