AlertDialogボタンのアクセントの色をカスタマイズしようとしています。しかし、システムから色を継承しているように見えても影響はありません。ここに私のスタイル/テーマがあります。AlertDialogのカスタムテーマが機能しない
<color name="actionable_items">#0574ac</color> <!-- it is blue color -->
<style name="LLDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<!--buttons color-->
<item name="colorAccent">@color/actionable_items</item>
<!--item RadioButton or CheckBox color-->
<item name="colorControlActivated">@color/actionable_items</item>
<item name="colorPrimary">@color/actionable_items</item>
<item name="colorPrimaryDark">@color/actionable_items</item>
<item name="android:listChoiceIndicatorMultiple">@color/actionable_items</item>
<item name="android:listChoiceIndicatorSingle">@color/actionable_items</item>
</style>
ここでは、Alertdialogを構築しようとしている私のコードです。
final CustomPopupBuilder removePlaceDialog = new CustomPopupBuilder(new ContextThemeWrapper(context,
R.style.LLDialog));
removePlaceDialog.setTitle(getString(R.string.delete_place, placeName));
removePlaceDialog.setMessage(getString(R.string.delete_place_message));
removePlaceDialog.setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
....
....
}
});
removePlaceDialog.setNegativeButton(R.string.cancel, null);
removePlaceDialog.create().show();
最後のAlertDialogには、同じテキストカラーのボタンがありません。テキストの色は緑に似ています。カスタマイズされたテーマではなく、システムから色を継承しているようです。
EDIT1: はここに画像である
私が使用AlertDialog.Builder
をしようとしたが、それは私に同じ結果を与えます。
final AlertDialog.Builder removePlaceDialog = AlertDialog.Builder(new ContextThemeWrapper(context,
R.style.LLDialog));
removePlaceDialog.setTitle(getString(R.string.delete_place, placeName));
removePlaceDialog.setMessage(getString(R.string.delete_place_message));
removePlaceDialog.setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
....
....
}
});
removePlaceDialog.setNegativeButton(R.string.cancel, null);
removePlaceDialog.create().show();
EDIT2:
私はまた、ダイアログボックスのアクセントカラーを変更しようとしましたが、私はその色が表示されない:
<style name="LLDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<!--buttons color-->
<item name="colorAccent">#990000</item>
...
...
</style>
であっても、これは変更されません。ボタンのテキストの色:(。
代わりに 'CustomPopupBuilder'を使用する理由は、デフォルトの' AlertDialog'を使うことができます.. !! –
@ jankigadhiya私はAlertDialogを使用しましたが、同じ結果です。それは私のテーマ/スタイルに従ってalertDialogをカスタマイズしません。 – Rakesh