package ren.solid.library.utils;
import android.support.design.widget.Snackbar;
import android.view.View;
/**
* Created by _SOLID
* Date:2016/5/9
* Time:11:30
*/
public class SnackBarUtils {
private static final int color_danger = 0XFFA94442;
private static final int color_success = 0XFF00CD00;
private static final int color_info = 0XFF31708F;
private static final int color_warning = 0XFFFF8247;
private static final int color_action = 0XFFCDC5BF;
private Snackbar mSnackBar;
private SnackBarUtils(Snackbar snackbar) {
mSnackBar = snackbar;
}
public static SnackBarUtils makeShort(View view, String text) {
Snackbar snackbar = Snackbar.make(view, text, Snackbar.LENGTH_SHORT);
return new SnackBarUtils(snackbar);
}
public static SnackBarUtils makeLong(View view, String text) {
Snackbar snackbar = Snackbar.make(view, text, Snackbar.LENGTH_LONG);
return new SnackBarUtils(snackbar);
}
private View getSnackBarLayout(Snackbar snackbar) {
if (snackbar != null) {
return snackbar.getView();
}
return null;
}
private Snackbar setSnackBarBackColor(int colorId) {
View snackBarView = getSnackBarLayout(mSnackBar);
if (snackBarView != null) {
snackBarView.setBackgroundColor(colorId);
}
return mSnackBar;
}
public void info() {
setSnackBarBackColor(color_info);
show();
}
public void info(String actionText, View.OnClickListener listener) {
setSnackBarBackColor(color_info);
show(actionText, listener);
}
public void warning() {
setSnackBarBackColor(color_warning);
show();
}
public void warning(String actionText, View.OnClickListener listener) {
setSnackBarBackColor(color_warning);
show(actionText, listener);
}
public void danger() {
setSnackBarBackColor(color_danger);
show();
}
public void danger(String actionText, View.OnClickListener listener) {
setSnackBarBackColor(color_danger);
show(actionText, listener);
}
public void success() {
setSnackBarBackColor(color_success);
show();
}
public void success(String actionText, View.OnClickListener listener) {
setSnackBarBackColor(color_success);
show(actionText, listener);
}
public void show() {
mSnackBar.show();
}
public void show(String actionText, View.OnClickListener listener) {
mSnackBar.setActionTextColor(color_action);
mSnackBar.setAction(actionText, listener).show();
}
}