Snackbar 操作文本颜色未更改

新手上路,请多包涵

我想更改小吃栏的操作文本颜色,但由于某种原因它不起作用。

我使用以下代码来显示一个小吃店:

 Snackbar.make(findViewById(R.id.root), "text", Snackbar.LENGTH_LONG).setActionTextColor(R.color.yellow).setAction("OK", new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    }
}).show();

原文由 qwertz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 445
2 个回答

setActionTextColor 的参数是 int 表示颜色,而不是资源 ID。

而不是这个:

 .setActionTextColor(R.color.yellow)

尝试:

 .setActionTextColor(Color.YELLOW)

如果您仍然想使用资源,请尝试:

 .setActionTextColor(ContextCompat.getColor(context, R.color.color_name));

注意:要使用 ContextCompat,我假设您已将支持库包含到您的 build.gradle 文件中(如果您也已经有 appcompat (v7) 库,则它是可选的)。

原文由 Anand Singh 发布,翻译遵循 CC BY-SA 3.0 许可协议

采用

.setActionTextColor(getResources().getColor(R.color.red))

而不仅仅是

.setActionTextColor(R.color.red)

原文由 Adam Purser 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题