У меня есть приложение для 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>
где drawable «progress_medium» - мой пользовательский (синий) индикатор, а «bgr_alert» - пользовательский (белый) фон.
Когда я показываю диалоговое окно (тема приложения «MyTheme»)
@Override
protected Dialog onCreateDialog(int id) {
progressDialog = new ProgressDialog(this);
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
return progressDialog;
}
диалоговое окно, которое отображается, содержит пользовательский фон (белый), но недетерминированный индикатор выполнения не виден.
С другой стороны, если я установлю процесс рисования вручную:
progressDialog.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progress_medium));
все идеально - настраиваемый фон и настраиваемый прогресс прорисовки.
Любой намек, почему прорисовка progressBar не устанавливается неявно темой темы?