gpt4 book ai didi

android - 更改弹出对话框的背景颜色

转载 作者:IT王子 更新时间:2023-10-29 00:10:02 25 4
gpt4 key购买 nike

我编写了显示弹出对话框的 android 代码,但我想将背景颜色从黑色更改为白色,然后是文字的颜色。

这是对话框的代码:

mPrefs = PreferenceManager.getDefaultSharedPreferences(this);

Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);

if (!welcomeScreenShown) {


String whatsNewText = getResources().getString(R.string.Text);
new AlertDialog.Builder(this).setMessage(whatsNewText).setPositiveButton(
R.string.ok, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(welcomeScreenShownPref, true);
editor.commit(); // Very important to save the preference
}

最佳答案

要扩展@DaneWhite 的答案,您不必依赖内置主题。您可以轻松提供自己的风格:

<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:background">@color/myColor</item>
</style>

然后在 Builder 构造函数中应用它:

Java:

AlertDialog alertDialog = new AlertDialog.Builder(getContext(), R.style.MyDialogTheme)
...
.create();

Kotlin :

var alertDialog = AlertDialog.Builder(context, R.style.MyDialogTheme)
...
.create()

无论您使用的是 android.support.v7.app.AlertDialog 还是 android.app.AlertDialog

,这都应该有效

这也比@DummyData 的答案更好,因为您不调整对话框的大小。如果您设置窗口的背景可绘制对象,则会覆盖一些现有的尺寸信息并获得一个非标准宽度的对话框。

如果您在主题上设置背景并在对话框上设置主题,您最终会得到一个对话框,该对话框的颜色是您想要的颜色,但宽度仍然正确。

关于android - 更改弹出对话框的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com