Темные значки в строке состояния при открытом диалоге

1

У меня есть активность с этим стилем:

<style name="CustomStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">@color/statusbar_bg_color</item>
    <item name="android:windowBackground">@color/app_background</item>
    <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
</style>

Он показывает темные значки в строке состояния, но когда я показываю диалог, значки меняют цвет на светлый.

Стиль моего диалога:

<style name="CustomStyleDialog" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@drawable/round_corner_dialog</item>
    <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
</style>

Что мне нужно изменить, чтобы значки всегда были темными?

Это мой манифест

<activity
        android:name=".activities.FirstActivity"
        android:screenOrientation="portrait"
        android:theme="@style/CustomStyle" />
<activity
        android:name=".dialogs.FirstDialog"
        android:screenOrientation="portrait"
        android:theme="@style/CustomStyleDialog" />

Построитель диалогов (CustomDatepicker - это класс, расширяющий DatePickerDialog)

DatePicker

private void showDatePickerDialog(Date starDate, int titleResId) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(starDate);
    CustomDatePicker datePickerDialog = new CustomDatePicker(this, this, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
    datePickerDialog.setTitle(titleResId);
    datePickerDialog.show();

}

бдительный

AlertDialog.Builder builder;
builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.delete_title)
    .setMessage(getResources().getString(R.string.delete_confirmation))
    .show();
Теги:
statusbar
dialog

1 ответ

2

Я думаю, что вам нужны только темные значки, используйте приведенный ниже пример кода

  new AlertDialog.Builder(this)
    .setIcon(android.R.drawable.ic_dialog_alert_dark)
    .setTitle(R.string.confirm_title)
    .setMessage(R.string.confirm_text)
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            finish();    
        }

замените этот android.R.drawable.ic_dialog_alert_dark темным значком, который вы хотите

Ещё вопросы

Сообщество Overcoder
Наверх
Меню