我的应用仅处于黑暗状态(不取决于用户设置)。我无法使警报对话框变暗。 我的style.xml:
<style name="AppTheme" parent="ThemeOverlay.AppCompat.DayNight">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">#000000</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:navigationBarColor">#000000</item>
<item name="dialogTheme">@style/Theme.MaterialComponents.DayNight.Dialog.Alert</item>
<!-- disable action bar -->
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
在我的活动中:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
setContentView(R.layout.activity_intro);
}
显示对话框回调的我的按钮:
private void onTouchButton()
{
new AlertDialog.Builder(this, R.style.Theme_AppCompat_DayNight_Dialog_Alert)
.setTitle(getString(R.string.title))
.setMessage(getString(R.string.text))
.setPositiveButton(getString(R.string.button), null)
.show();
}
据我了解,DayNight appCompat主题提供了一种简单的方法,可在...之间以暗/亮为主题进行切换
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
但是,我不能使其适用于上面显示的基本代码。我错过了什么 ?我是Android新手。我正在使用AppCompat 1.2.0(也许它可以带来其他信息来解决问题)