@drawable/pro-6ren">
gpt4 book ai didi

android - 如何在 Android 的 ProgressDialog 中为不确定的 ProgressBar 设置主题

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:20 25 4
gpt4 key购买 nike

我有一个 Android(在 A2.2 上开发)应用程序,定义了以下主题:

<style name="ProgressBar"> parent="@android:style/Widget.ProgressBar">
<item name="android:indeterminateDrawable">@drawable/progress_medium</item>
</style>
<style name="AlertDialog" parent="@android:style/AlertDialog">
<item name="android:fullDark">@drawable/bgr_alert</item>
</style>
<style name="MyTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:alertDialogStyle">@style/AlertDialog</item>
<item name="android:progressBarStyle">@style/ProgressBar</item>
</style>

其中“progress_medium”可绘制对象是我的自定义(蓝色)进度条,“bgr_alert”是自定义(白色)背景。

当我显示对话框时(应用程序的主题是“MyTheme”)

@Override
protected Dialog onCreateDialog(int id) {
progressDialog = new ProgressDialog(this);
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
return progressDialog;
}

显示的对话框包含自定义背景(白色),但不确定的 progressBar 不可见。

另一方面,如果我手动设置进度可绘制对象:

progressDialog.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progress_medium));

一切都很完美 - 自定义背景和自定义进度可绘制。

任何提示,为什么 progressBar drawable 不是由主题 theme 隐式设置的?

最佳答案

好的,我得到了答案。问题是 Android 的 progress_dialog.xml 布局包含 ProgressBar 的显式样式:

<ProgressBar android:id="@android:id/progress"
style="@android:style/Widget.ProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="10000"
android:layout_marginRight="12dip" />

所以我要么进行手动设置(如上所述),要么进行完全自定义的对话框。

关于android - 如何在 Android 的 ProgressDialog 中为不确定的 ProgressBar 设置主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4169844/

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