无法在 Snackbar 中将颜色设置为白色 - Android

Can't set color to white in Snackbar - Android

我正在使用 https://github.com/nispok/snackbar 库来实现 Snackbar。我希望这个小吃店是白色的,所以我写了这样的代码:

SnackbarManager.show(Snackbar.with(context)
    .text(R.string.you_have_to_be_logged_in)
    .color(Color.WHITE)
    .actionLabel(R.string.log_me_in)
    .actionColorResource(R.color.lime_500)
    .actionListener(new ActionClickListener() {
        @Override
        public void onActionClicked(Snackbar snackbar) {
            LogInDialog logInDialog = new LogInDialog();
            logInDialog.show(ft, "LogInDialog");
        }
    }));

正如您在第 3 行中看到的那样,我将背景颜色设置为白色,但它并没有改变任何东西。背景仍然是黑暗的。但是,如果我将背景颜色更改为 .colorResource(R.color.lime_500),小吃店将更改为这种颜色。

我也试过.colorResource(R.color.white).color(Color.parseColor("#ffffff")

为什么小吃店不能是白色的?

这确实是一个错误,已在版本 2.8.0

中修复

问题是假设颜色值 -1 意味着颜色未定义,应该使用默认的 Material 设计规范值。结果 Color.WHITE-1 因此它被忽略了 :P

现在,"undefined"颜色值设置为-10000;这个值应该不会造成任何问题。

Snackbar snackbar = Snackbar.make(linearLayout, getResources().getString(R.string.add_number), Snackbar.LENGTH_LONG);
snackbar.setActionTextColor(Color.WHITE);
View snackbarView = snackbar.getView();
snackbarView.setBackgroundColor(Color.RED);
snackbar.show();

这会将颜色或小吃栏更改为蓝色

Snackbar snack = Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
    .setAction("Action", null); 
ViewGroup group = (ViewGroup) snack.getView();
group.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.red));
snack.show();