gpt4 book ai didi

android - 可以更改没有主题的对话框的窗口背景颜色吗?

转载 作者:太空狗 更新时间:2023-10-29 12:55:03 25 4
gpt4 key购买 nike

目前我扩展了一个Dialog 并使用构造函数Dialog(Context context, int theme) 通过主题设置背景颜色。这个对话框是一个叠加层,所以它位于屏幕上显示的所有内容之上。主题如下:

<style
name="Theme.example"
parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@color/background_color</item>
</style>

请注意,此主题通过 android:windowBackground 属性设置背景颜色。我需要整个屏幕来改变颜色,包括通知栏。但我也希望能够在显示对话框后在 Java 中动态更改背景。我想出的最好方法是使用 getWindow().setBackgroundDrawableResource(R.drawable.background),其中 Drawable 只是我颜色的一个像素想要。

有更好的方法吗?我当前的方法工作正常,但如果能够使用我未在 R.drawable 中预定义的颜色会更好。

最佳答案

尝试使用 ColorDrawable类。

您可以创建 ColorDrawable 类的新实例并将其设置为背景。每当您需要更改颜色时,只需调用 setColor(int color) 在那堂课上。

ColorDrawable colorDrawable = new ColorDrawable();
// ColorDrawable colorDrawable =
// new ColorDrawable(0xFF00FF00); // With a custom default color.

colorDrawable.setColor(0xFFFF0000);

关于android - 可以更改没有主题的对话框的窗口背景颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7632960/

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