web-dev-qa-db-ja.com

ProgressBarの色を変更するには?

HorizontalProgressBar色を変更したい

私はこれを試しました

無期限のProgressBarの色を変更するには?

動作していませんが、青色で進行しています

これは私のコードです

<ProgressBar
                 Android:id="@+id/mini_progress"
                 Android:layout_marginLeft="10dip"
                 Android:layout_marginRight="10dip"
                 style="?android:attr/progressBarStyleHorizontal"
                 Android:layout_width="match_parent"
                 Android:layout_height="20dip"
                 Android:layout_gravity="center_horizontal"
                 Android:indeterminate="false"
                 Android:indeterminateBehavior="repeat"
                 Android:indeterminateOnly="true"
                 Android:visibility="gone"/>

どのように色をピンクに変更できますか?

22
Jack K Fouani

このコードを試してください-

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >

    <item Android:id="@Android:id/secondaryProgress">
        <clip>
            <shape>
                <corners Android:radius="5dip" />

                <solid Android:color="#f58233" />
            </shape>
        </clip>

        <color Android:color="#f58233" />
    </item>
    <item Android:id="@Android:id/progress">
        <clip>
            <shape>
                <corners Android:radius="5dip" />

                <solid Android:color="#f58233" />
            </shape>
        </clip>

        <color Android:color="#f58233" />
    </item>

</layer-list>

プログレスバー -

<ProgressBar
            Android:id="@+id/progressBar1"
            style="?android:attr/progressBarStyleHorizontal"
            Android:layout_width="200dp"
            Android:layout_height="3dip"
            Android:progressDrawable="@drawable/progress_bar" />

必要に応じてカラーコードを変更する

32
Vishal Pawale

次のようなもので新しいドロアブルを作成します(この場合、pinkprogress.xml):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
  <item Android:id="@Android:id/background">
    <shape>
      <corners Android:radius="5dip" />
      <gradient Android:startColor="#F5A9F2"
                Android:centerColor="#F5A9F2"
                Android:centerY="0.75"
                Android:endColor="#F5A9F2"
                Android:angle="270" />
    </shape>
  </item>
  <item Android:id="@Android:id/secondaryProgress">
    <clip>
      <shape>
        <corners Android:radius="5dip" />
        <gradient Android:startColor="#80ffd300"
                  Android:centerColor="#80ffb600"
                  Android:centerY="0.75"
                  Android:endColor="#a0ffcb00"
                  Android:angle="270" />
      </shape>
    </clip>
  </item>
  <item Android:id="@Android:id/progress">
    <clip>
      <shape>
        <corners Android:radius="5dip" />
        <gradient Android:startColor="#33FF33"
                  Android:endColor="#008000"
                  Android:angle="270" />
      </shape>
    </clip>
  </item>
</layer-list>

xmlファイルでprogressbarに設定します。

 Android:progressDrawable="@drawable/pinkprogress"
20
Piyush

私はこれをして必要な色を取得しました:

    Android:indeterminate="true"
    Android:indeterminateTintMode="src_atop"
    Android:indeterminateTint="@color/myColor"

私にとって完璧に機能します。(API 21以降)

14
arqam

私にとってこれはうまくいきました。

enter image description here

<ProgressBar
            Android:id="@+id/verify_progress"
            style="@Android:style/Widget.ProgressBar.Horizontal"
            Android:layout_width="match_parent"
            Android:layout_height="5dp"
            Android:layout_below="@id/verify_phone"
            Android:layout_marginLeft="10dp"
            Android:layout_marginRight="10dp"
            Android:layout_marginTop="10dp"
            Android:indeterminate="false"
            Android:progressDrawable="@drawable/progress_bar" </ProgressBar>

drawable/progress_bar-

  <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
        <item Android:id="@Android:id/background">
            <shape>
                <corners Android:radius="5dip" />
                <gradient
                    Android:startColor="@color/Gray"
                    Android:centerColor="@color/Gray"
                    Android:endColor="@color/Gray"
                    />
            </shape>
        </item>


        <item
            Android:id="@Android:id/progress"
            >
            <clip>
                <shape>
                    <corners
                        Android:radius="5dip" />
                    <gradient
                        Android:startColor="@color/PrimaryColor"
                        Android:endColor="@color/PrimaryColor" />
                </shape>
            </clip>
        </item>

    </layer-list>
11
El.

API 21以降、1つのライナーです。

<ProgressBar
            ...
            Android:progressTint="@color/colorAccent"/>
2
Javatar

レンダラーを追加します。

public class CustomProgressBarRenderer :ProgressBarRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
    {
        base.OnElementChanged(e);

        Control.ProgressDrawable.SetColorFilter(Color.FromRgb(182, 231, 233).ToAndroid(), Android.Graphics.PorterDuff.Mode.SrcIn);
        //Control.ProgressTintListColor.FromRgb(182, 231, 233).ToAndroid();
        Control.ProgressTintList = Android.Content.Res.ColorStateList.ValueOf(Color.FromRgb(182, 231, 233).ToAndroid());


    }
}
1
kishang

これは、Lollipop以前のデバイスで機能します。

progressBar.getProgressDrawable().setColorFilter(ContextCompat.getColor(getActivity(),R.color.product_status_color), PorterDuff.Mode.MULTIPLY)
0
vikas kumar