web-dev-qa-db-ja.com

ProgressDialogのスタイルを変更する

ProgressBarスタイルの進捗ダイアログを変更することは可能ですか?はいの場合、どうすればそれを行うことができますか?

13
Aram

進行状況ダイアログを次のようにスタイルすることができます:リングの形をした描画可能なファイルを作成します(circular_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>

プログレスバーのスタイルを設定するための1つ

 <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」プロパティに注意してください

あなたはProgressDialogのインスタンスを作成し、あなたのスタイルを追加することができます

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