所有弹出窗口都变成了白色

问题描述 投票:0回答:1

更新旧的android项目以便能够使用Android Studio 3.2.1构建项目后,所有弹出窗口都变为白色。

所有AlertDialog,ProgressDialog,Spinner都有白色背景和白色文字。

如果我在应用程序中更改主题,一些文本变得可读,但白度仍然存在。

我用这样的黑客解决了一些问题:progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.DKGRAY)); 但这并不适用于所有地方。

可能是什么原因?

这是我七年来第一次使用android,我之前做过iOS,所以这对我来说是新的领域。

更新:

评论有助于确定该问题与主题有关。现在,挑战是挖掘导致白色背景的原因。

我必须将父设置为我的自定义属性:

parent="Base.Theme.AppCompat"

所以在我的自定义主题中有这个属性:android:alertDialogTheme

    <style name="CustomMobileTheme.Base.Black" parent="Base.Theme.AppCompat">

    <item name="android:alertDialogTheme">@style/Theme.AppCompat.Dialog.Alert</item>

    <item name="android:colorPrimary">@color/actionBarColorBlackTheme</item>
    <item name="android:statusBarColor">#000000</item>

这让所有这些混乱。我不知道android:alertDialogTheme做了什么,它没有在Spinner文档中指定,我不得不手动注释掉主题中的200个属性,挖掘出这个罪魁祸首并花费大约13个小时的私人时间。我希望开发人员能够遭遇一些不良业力。

android
1个回答
0
投票

所有AlertDialog,ProgressDialog,Spinner都有白色背景和白色文字。它可能因为你的应用主题中的“colorAccent”是白色的。

请检查您的主题“colorAccent”。如果没有指定,请指定您想要的颜色。检查以下代码。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
© www.soinside.com 2019 - 2024. All rights reserved.