什么';这是“什么?”;“违约”;android中(进度)对话框的主题?
我可以创建这样的ProgressDialog:什么';这是“什么?”;“违约”;android中(进度)对话框的主题?,android,android-styles,Android,Android Styles,我可以创建这样的ProgressDialog: ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setMessage("Hi"); progressDialog.setIndeterminate(true); progressDialog.show(); 看起来不错,但我想更改使用上述代码创建的ProgressDialog的几个方面-,并且只更改几个方面其他所有内容应保持不变 假设我想更改文本颜色
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Hi");
progressDialog.setIndeterminate(true);
progressDialog.show();
看起来不错,但我想更改使用上述代码创建的ProgressDialog的几个方面-,并且只更改几个方面其他所有内容应保持不变
假设我想更改文本颜色并禁用背景调暗。我知道我可以通过编程实现这一点,但我希望使用自定义样式。然后,我可以应用该样式:
ProgressDialog progressDialog = new ProgressDialog(this, R.style.MyProgressDialogStyle);
...
所以问题是,我应该使用什么作为父级,以使设备上使用的“默认”样式保持不变?显然,我希望这个解决方案是可移植的,这样它就可以在所有设备上工作
<style name="MyProgressDialogStyle" parent=?????>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:textColor">@color/my_color</item>
</style>
假的
@颜色/我的颜色
到目前为止,我看到的所有答案似乎都使用了不同的主题。这是否意味着没有真正的方法来实现我所寻找的?在这种情况下,使用样式是否是错误的方法?您正确地希望使用无效的
Theme.AppCompat.Light.Dialog.Alert
:之前,未应用样式:之后,使用Theme.AppCompat.Light.Dialog.Alert:这不是很具体。你怎么知道它不起作用了?尝试删除android:prefix。是的,很抱歉,我之前按了“enter”,它在我能够提供之前/之后的图像之前插入了我的评论。删除android:prefix会导致aapt错误:找不到与给定名称匹配的资源:attr“backgroundDimEnabled”。textColor也一样。我不确定什么不起作用?这种风格绝对适用。如果这不是您想要的textColor,请尝试使用textColorPrimary
、textColorSecondary
等。参考这本书,它很好地展示了你可以用什么作为钥匙。