小吃店行动文字颜色不变

我想改变快餐栏的动作文本颜色,但由于某种原因,它不起作用。

我使用下面的代码来显示快餐栏:

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

Solutions Collecting From Web of "小吃店行动文字颜色不变"

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

而不是这个:

 .setActionTextColor(R.color.yellow) 

尝试:

 .setActionTextColor(Color.YELLOW) 

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

 .setActionTextColor(getResources().getColor(R.color.yellow)); 

getResources()来自Context 。 此外, getColor已弃用,因此请使用@SuppressWarnings("deprecation")删除删除线(Android Studio),或至less将其从警告中删除。

使用

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

而不是仅仅

 .setActionTextColor(R.color.red) 

没有以上答案帮助我。 我发现这个解决scheme,它通过手动改变TextView的文本颜色来工作

 Snackbar snack = Snackbar.make(v, "Snackbar message", Snackbar.LENGTH_LONG); View view = snack.getView(); TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text); tv.setTextColor(Color.WHITE); snack.show();