如何改变Android Progressbar默认颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何改变Android Progressbar默认颜色相关的知识,希望对你有一定的参考价值。

如何改变android Progressbar默认颜色
默认情况下Indeterminate Progressbar是白色的,如果容器的背景也是白色的,这样就根本看不到Progressbar了。
幸好Android自带了一些反转样式,你可以采用其中一个合适的:
http://stackoverflow.com/questions/2638161/how-to-change-android-indeterminate-progressbar-color

<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
参考技术A 如何改变Android Progressbar默认颜色
默认情况下Indeterminate Progressbar是白色的,如果容器的背景也是白色的,这样就根本看不到Progressbar了。
幸好Android自带了一些反转样式,你可以采用其中一个合适的:

<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
参考技术B http://blog.csdn.net/hncjlxf/article/details/7280804
上面博客有介绍,多看看大神的博客能学到很多东西。

Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable


做个笔记,主要是需要使用ClipDrawable、LayerDrawable:

private void setProgressBg(int progress) {
    int a = progress * 255 / 100;
    int color = Color.argb(a, 255, 90, 147);
    ColorDrawable colorDrawable = new ColorDrawable();
    colorDrawable.setColor(color);
    ClipDrawable clipDrawable = new ClipDrawable(colorDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);

    Drawable drawable = getResources().getDrawable(R.color.transparent);
    Drawable[] layers = new Drawable[]{drawable,clipDrawable};
    LayerDrawable layerDrawable = new LayerDrawable(layers);
    layerDrawable.setDrawableByLayerId(0,drawable);
    layerDrawable.setDrawableByLayerId(1,clipDrawable);
    progressBar.setProgressDrawable(clipDrawable);

    progressBar.setProgress(0);
    progressBar.setProgress(progress);

    Loger.d("Vote投票", "result = " + progress);
    Loger.d("Vote投票", "a = " + a);
}






本文出自 “天空没有痕迹但我飞过” 博客,请务必保留此出处http://glblong.blog.51cto.com/3058613/1739160

以上是关于如何改变Android Progressbar默认颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上更改默认 ProgressBar 圆圈颜色

如何在Android上更改默认的ProgressBar圆圈颜色

关于Android怎么改变ProgressBar进度条颜色

关于Android怎么改变ProgressBar进度条颜色

Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable

android中 progressbar如何显示百分比,是调用啥方法吗?