web-dev-qa-db-ja.com

カスタムプログレスバーAndroid

このタイプのプログレスバーをAndroidで使用したいと思います。私は多くの水平プログレスバーで試しました。それらはすべて、異なる色のデフォルトのプログレスバーのように見えます。このタイプの使用方法がわからない: enter image description here

9
Seshu Vinay

独自のカスタムプログレスバーを作成する必要があります。多くの水平バーを使用するほど簡単ではありません。

11
Kumar Bibek

プログレスバーをカスタマイズするには、プログレスバーの背景と進行状況の属性またはプロパティを定義する必要があります。

res-> drawableフォルダーにcustomprogressbar.xmlという名前の.xmlファイルを作成します

customprogressbar.xml

   <layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">

        <!-- Define the background properties like color etc -->
    <item Android:id="@Android:id/background">
    <shape>
        <gradient
                Android:startColor="#000001"
                Android:centerColor="#0b131e"
                Android:centerY="1.0"
                Android:endColor="#0d1522"
                Android:angle="270"
        />
    </shape>
   </item>

  <!-- Define the progress properties like start color, end color etc -->
  <item Android:id="@Android:id/progress">
    <clip>
        <shape>
            <gradient
                Android:startColor="#007A00"
                Android:centerColor="#007A00"
                Android:centerY="1.0"
                Android:endColor="#06101d"
                Android:angle="270"
            />
        </shape>
    </clip>
</item>

次に、progressDrawableプロパティをcustomprogressbar.xml(drawable)に設定するように設定する必要があります。

xmlファイルまたはActivity(実行時)で実行できます

あなたのxmlで次のようにします

   <ProgressBar
    Android:id="@+id/progressBar1"
    style="?android:attr/progressBarStyleHorizontal"
    Android:progressDrawable="@drawable/custom_progressbar"         
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content" />

実行時に次のことを行います

      // Get the Drawable custom_progressbar                     
                              Drawable draw= res.getDrawable(R.drawable.custom_progressbar);
                              // set the drawable as progress drawavle

                              progressBar.setProgressDrawable(draw);
3
user2446474