如何更改 Android 中进度条的颜色?-(我尝试了一种方法,但它不起作用)
How to change the color of the Progress Bar in Android?- (I tried one way,and it isn't working)
我使用以下代码向我的 activity 添加了一个进度条:
<LinearLayout
android:id="@+id/linlaHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
android:id="@+id/pbHeaderProgress"
android:indeterminateOnly="true"
android:keepScreenOn="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
然后我调用它:
progressbar = (LinearLayout) findViewById(R.id.linlaHeaderProgress);
progressbar.setVisibility(View.VISIBLE);
显示进度条,我想改变它的颜色。默认情况下,进度条显示为灰色。这是我尝试更改颜色的内容:
我在 drawables 文件夹中创建了一个 xml 文件并将其命名为 activityindicator.xml
这个xml的内容是:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/secondaryProgress">
<color android:color="#f58233" />
</item>
<item android:id="@android:id/progress">
<color android:color="#f58233" />
</item>
</layer-list>
并且我将布局文件更改为:
<LinearLayout
android:id="@+id/linlaHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:progressDrawable="@drawable/activityindicator"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
android:id="@+id/pbHeaderProgress"
android:indeterminateOnly="true"
android:keepScreenOn="true"
android:progressDrawable="@drawable/activityindicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
这是我试过的,但是颜色没有改变。谁能告诉我我做错了什么?
我正在使用 Lollipop 版本。
如果您只想更改颜色,请在进度条中添加滤色器:
pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.RED, Mode.MULTIPLY);
Mode 参数,指的是 PorterDuff.Mode 值 - 可用 here。
我刚刚找到了一个方法。我什至不需要单独的 xml 文件来更改颜色,因为进度条的类型是 "indeterminate:true"
我使用以下方法更改进度条的颜色:
pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.parseColor("#C0D000"), android.graphics.PorterDuff.Mode.SRC_ATOP);
您可以从这里获得各种十六进制颜色代码:http://www.nthelp.com/colorcodes.htm
要么
http://www.color-hex.com/
我使用以下代码向我的 activity 添加了一个进度条:
<LinearLayout
android:id="@+id/linlaHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
android:id="@+id/pbHeaderProgress"
android:indeterminateOnly="true"
android:keepScreenOn="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
然后我调用它:
progressbar = (LinearLayout) findViewById(R.id.linlaHeaderProgress);
progressbar.setVisibility(View.VISIBLE);
显示进度条,我想改变它的颜色。默认情况下,进度条显示为灰色。这是我尝试更改颜色的内容:
我在 drawables 文件夹中创建了一个 xml 文件并将其命名为 activityindicator.xml
这个xml的内容是:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/secondaryProgress">
<color android:color="#f58233" />
</item>
<item android:id="@android:id/progress">
<color android:color="#f58233" />
</item>
</layer-list>
并且我将布局文件更改为:
<LinearLayout
android:id="@+id/linlaHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:progressDrawable="@drawable/activityindicator"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
android:id="@+id/pbHeaderProgress"
android:indeterminateOnly="true"
android:keepScreenOn="true"
android:progressDrawable="@drawable/activityindicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
这是我试过的,但是颜色没有改变。谁能告诉我我做错了什么?
我正在使用 Lollipop 版本。
如果您只想更改颜色,请在进度条中添加滤色器:
pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.RED, Mode.MULTIPLY);
Mode 参数,指的是 PorterDuff.Mode 值 - 可用 here。
我刚刚找到了一个方法。我什至不需要单独的 xml 文件来更改颜色,因为进度条的类型是 "indeterminate:true"
我使用以下方法更改进度条的颜色:
pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.parseColor("#C0D000"), android.graphics.PorterDuff.Mode.SRC_ATOP);
您可以从这里获得各种十六进制颜色代码:http://www.nthelp.com/colorcodes.htm 要么 http://www.color-hex.com/