Изменить стиль ProgressDialog - PullRequest
       19

Изменить стиль ProgressDialog

13 голосов
/ 31 января 2012

Можно ли изменить стиль диалога прогресса ProgressBar. Если да, то как я могу это сделать?

1 Ответ

5 голосов
/ 31 июля 2015

Вы можете стилизовать свой диалог прогресса следующим образом: создайте нарисованный файл с вашей формой кольца (round_progress_dialog.xml)

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="270"
android:toDegrees="270">
<shape
    android:innerRadiusRatio="2.5"
    android:shape="ring"
    android:thickness="2dp"
    android:useLevel="true"><!-- this line fixes the issue for lollipop api 21 -->

    <gradient
        android:angle="0"
        android:endColor="@color/main_background"
        android:startColor="@color/main_orange"
        android:type="sweep"
        android:useLevel="false" />
</shape>
</rotate>

один для стилизации вашего индикатора выполнения

 <style name="ProgressBar" parent="@android:style/Widget.ProgressBar">
    <item name="android:layout_centerHorizontal">true</item>
    <item name="android:layout_centerVertical">true</item>
    <item name="android:visibility">gone</item>
    <item name="android:background">@color/transparency_pleca</item>
    <item name="android:indeterminateDrawable">@drawable/circular_progress_dialog</item>
</style>

Уведомлениеваше свойство "android: indeterminateDrawable"

Yout может создать экземпляр ProgressDialog и добавить свой стиль с помощью

// create progressDialog
final ProgressDialog myProgressDialog = new  ProgressDialog(MyActivity.this);
myProgressDialog.setProgressStyle(R.style.ProgressBar)
myProgressDialog.show();
...