1. ホーム
  2. android

[解決済み] スナックバーの背景色を変更するには?

2022-10-12 03:05:38

質問

私は snackbar の中に DialogFragment をアラートダイアログのポジティブタッチ内で使用します。以下は私のコードスニペットです。

Snackbar snackbar = Snackbar.make(view, "Please enter customer name", Snackbar.LENGTH_LONG)
                .setAction("Action", null);
View sbView = snackbar.getView();
sbView.setBackgroundColor(Color.BLACK);
snackbar.show();

のビューを渡しています。 DialogFragment のビューをスナックバーに渡しています。背景色を黒にしたいのですが。どうすればいいのでしょうか?私は alertDialog の中に DialogFragment . そして、ダイアログに設定しているテーマは以下の通りです。

<style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">

    <!-- Used for the buttons -->
    <item name="colorAccent">@color/accent</item>
    <!-- Used for the title and text -->
    <item name="android:textColorPrimary">@color/primary</item>
    <!-- Used for the background -->
    <item name="android:background">@color/white</item>
</style>

ダイアログの背景色を白に設定していますが、背景色を スナックバー .

どのように解決するのですか?

このように背景色を設定してみてください。

sbView.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.BLACK));

100%動作します!