我正在使用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")
。
为什么小吃店不能是白色的?
答案 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();
答案 2 :(得分:0)
这会将颜色或小吃栏更改为蓝色
YourSidekiqJob.new.perform(parameters_to_the_job)