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

时间:2015-01-14 09:06:57

标签: android colors

我正在使用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")

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

3 个答案:

答案 0 :(得分:1)

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

中修复

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

现在,"未定义"颜色值设置为-10000;这个值不应该导致任何问题。

答案 1 :(得分:0)

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();

enter image description here

答案 2 :(得分:0)

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

YourSidekiqJob.new.perform(parameters_to_the_job)