如果应用程序名为AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
,则该应用程序将显示深色主题;否则,该应用程序将显示为浅色主题。
具有AlertDialog.Builder(this)
,并且想要应用一个主题,以便在MODE_NIGHT中它显示带有深色主题的对话框,否则,该对话框显示带有浅色主题的对话框,如下所示(但是此android.R.style.Theme_Material_Dialog
将使对话框始终处于深色主题)
AlertDialog.Builder(this, android.R.style.Theme_Material_Dialog)
AlertDialog是否有一个主题?还是必须定义两个主题并检查模式,然后分别使用该主题编码?
答案 0 :(得分:3)
在styles.xml
<style name="MyDialogStyle" parent="Theme.AppCompat.DayNight.Dialog.Alert"/>
在您的代码中
AlertDialog.Builder(this, R.style.MyDialogStyle)
尝试一下!
答案 1 :(得分:0)
添加到您的主题样式:
<item name="alertDialogTheme">@style/Theme.AppCompat.DayNight.Dialog.Alert</item>
<item name="android:alertDialogTheme">@style/Theme.AppCompat.DayNight.Dialog.Alert</item>
使用appcompat中的对话框
import androidx.appcompat.app.AlertDialog;
AlertDialog alertDialog = new AlertDialog.Builder(context).create()