41

スナックバーのアクション テキストの色を変更したいのですが、何らかの理由で機能しません。

次のコードを使用して、スナックバーを表示します。

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

4 に答える 4

85

の引数はsetActionTextColorintリソース ID ではなく、色を表す です。

これの代わりに:

.setActionTextColor(R.color.yellow)

試す:

.setActionTextColor(Color.YELLOW)

とにかくリソースを使用したい場合は、次を試してください。

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

注: ContextCompat を使用するには、サポート ライブラリがbuild.gradleファイルに含まれていることを前提としています (すでに appcompat (v7) ライブラリもある場合はオプションです)。

于 2015-06-29T13:28:30.190 に答える