Хочу создать простое диалоговое окно. Решил сделать это с помощью alertDialog. Создал метод в классе адаптера элементов recyclerView, установил картинку, заголовок, основное сообщение. Но вот беда, цвет основного текста не меняется с белого, как бы я не пробовал. Я создавал отдельный стиль, пытался покрасить его с помощью HTML в коде - увы, ничего не помогло, текст остался прежним.
Так вот, стоит ли создавать кастомный диалог или же я не правильно что то делаю. Лично я в документации не нашел ничего связано с устранением, но авось.
Класс диалога
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import androidx.fragment.app.DialogFragment;
public class DeleteDialog extends DialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder adb = new AlertDialog.Builder(getActivity(), R.style.df)
.setIcon(R.drawable.icon_basket)
.setTitle("Title!").setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setMessage("R.string.message_text");
return adb.create();
}
Как я к нему обращаюсь
public void createDialog() {
deleteDialog = new DeleteDialog();
deleteDialog.show(fragmentManager, "q");
}
Файл стилей
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
<item name="android:windowFullscreen">true</item>
<item name="colorPrimary">@color/colorC</item>
<item name="colorPrimaryDark">@color/colorD</item>
<item name="colorAccent">@color/colorC</item>
<item name="android:listDivider">@color/colorGrayDivider</item>
<item name="android:textColor">@color/colorGray</item>
<item name="android:popupBackground">@color/colorWhite</item>
<item name="fontFamily">@font/giger</item>
</style>
<style name="splashScreen" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>
<style name="df" parent="ThemeOverlay.AppCompat.Dialog.Alert">
<item name="android:textColor">@color/colorGray</item>
</style>
</resources>
Цвет с белого не меняется по прежнему.
РЕШЕНИЕ!
Просто убрать строку
<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>