Snackbar 不显示文本

Snackbar does not show text

我正在使用 Google 设计库 (23.1.0) 来显示小吃店。我的小吃店代码看起来像:

Snackbar snackbar = Snackbar.make(getView(), "Deleted", Snackbar.LENGTH_LONG);
snackbar.setActionTextColor(getResources().getColor(R.color.accent_color));
snackbar.setAction(R.string.undo, //anonymous class omitted);
snackbar.setCallback(//anonymous class omitted);
snackbar.show();

正在创建并显示小吃店。动作标签、动作颜色和所有听众都按预期工作。唯一的问题是消息 "Deleted" 没有显示。如果我使用调试器并在 snackbar.show() 上停止执行,我可以看到在 snackbar > mView > mMessageView 中有一个名为 mText 的字段,它的值为 "Deleted"。但是我看不到小吃店上的消息。我已经尝试过同时使用字符串常量和资源 ID。

更重要的是,我已经尝试在干净的项目中使用非常相似的代码并且它有效。可能是什么原因?

可能文字颜色有问题(R.color.accent_color)。也许文本颜色作为背景颜色?

尝试不使用此选项:

Snackbar snackbar = Snackbar.make(getView(), "Deleted", Snackbar.LENGTH_LONG);
snackbar.setAction(R.string.undo, //anonymous class omitted);
snackbar.setCallback(//anonymous class omitted);
snackbar.show();

哦,看起来文字颜色真的和背景一样。我已经替换了:

Snackbar snackbar = Snackbar.make(getView(), "Deleted", Snackbar.LENGTH_LONG);

与:

Snackbar snackbar = Snackbar.make(fab, Html.fromHtml("<font color=\"#ffffff\">Deleted</font>"), Snackbar.LENGTH_LONG);

现在我可以看到文字了。

更新:

经过进一步调查,快餐栏文本的默认颜色取自 theme.xml。在我们的项目中,textColor 的值设置为#313131,而 snackbar 的背景设置为#323232。不可能注意到。