Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在主题中设置backgroundcolor会出现图形化的buggy对话框_Android_Layout_Android Activity_Themes - Fatal编程技术网

Android 在主题中设置backgroundcolor会出现图形化的buggy对话框

Android 在主题中设置backgroundcolor会出现图形化的buggy对话框,android,layout,android-activity,themes,Android,Layout,Android Activity,Themes,在themes.xml中的“我的活动”主题中,我设置了一个背景色,以便从默认(透明/白色?)背景色移到我自己的背景色 <item name="android:background">@color/red</item> @color/red 不幸的是,当我显示我的加载对话框时,颜色现在在该对话框的中间闪烁。这是意料之中的吗 我曾尝试使用不同的主题,也由自己的对话框主题子类定义,从Holo Light将背景色显式设置为白色,但问题仍然存在,在这种情况下,只有当前仍为白色

themes.xml
中的“我的活动”主题中,我设置了一个背景色,以便从默认(透明/白色?)背景色移到我自己的背景色

<item name="android:background">@color/red</item>
@color/red
不幸的是,当我显示我的加载对话框时,颜色现在在该对话框的中间闪烁。这是意料之中的吗

我曾尝试使用不同的主题,也由自己的对话框主题子类定义,从Holo Light将背景色显式设置为白色,但问题仍然存在,在这种情况下,只有当前仍为白色的区域被更改


我能做什么?目前唯一的选择是使用传统的对话主题。

标题的左右两侧似乎有一些空白或边距。如果您使用的是内置的
ProgressDialog
,我建议您创建自己的
对话框
,这样您就可以更改它的任何内容。只需创建自己的xml布局并创建如下对话框:

protected static Dialog getProgressDialog(Activity activity) {

    Dialog dialog = new Dialog(activity);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

    LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View progressDialogView = inflater.inflate(R.layout.custom_progress_dialog, null);

    dialog.setContentView(progressDialogView);
    dialog.setCancelable(false);
    return dialog;
}

请尝试设置android:windowBackground
android:background
属性应用于所有嵌套视图。以下是讨论内容:

您想要实现什么目标?哪些视图应为红色,哪些视图不应为红色?@vokilam主题背景色表示活动的背景色。如果没有它,我们将使用默认颜色(透明/白色)。请尝试设置
android:windowBackground
instead@vokilam成功了!非常感谢。请随意添加它作为答案。