2 curie 87 curie_87 于 2012.09.21 11:55 提问

如何用代码改变进度条的颜色?

我在应用程序中设置一个水平的进度条,现在想改变这个进度条的颜色,我不用XML,用代码如何实现呢?

6个回答

myc_100
myc_100   2012.09.24 11:21
已采纳
<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="#ff9d9e9d"
                android:centerColor="#ff5a5d5a"
                android:centerY="0.75"
                android:endColor="#ff747674"
                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="@color/progress_start"
                android:endColor="@color/progress_end"
                android:angle="270" />
        </shape>
    </clip>
</item>

</layer-list>
gtchjc
gtchjc 楼主都说了不用xml,你不懂啊
接近 4 年之前 回复
sasuke38
sasuke38   2012.09.27 10:10
ProgressDialog pd=new ProgressDialog(this);
pd.setProgressDrawable(getResources().getDrawable(id));
gtchjc
gtchjc 怎样设置进度颜色,你的是设置背景颜色的
接近 4 年之前 回复
sasuke38
sasuke38   2012.09.24 10:50
<SeekBar
        android:id="@+id/seekBar"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:maxHeight="8dp"
        android:minHeight="8dp"
        android:progressDrawable="@drawable/your_style"
        android:thumb="@drawable/your_style" />
yizhenbeifeng
yizhenbeifeng 不好意思,没有针对你的意思。只是因为ASK一直都是比较注重给出问题的确定的答案的
5 年多之前 回复
sasuke38
sasuke38 seekbar只是我写音乐播放器的时候用罢了 你把SeekBar改成progressBar下面的属性估计也是可以用的 变通一下不就好了 就算某些属性不能用了 你也可以再看看有什么属性可以代替 至于样式 下面的仁兄已经给出
5 年多之前 回复
yizhenbeifeng
yizhenbeifeng curie说的进度条应该是类似于下载的时候显示下载了多少的那种,好像不是seekbar
5 年多之前 回复
yongyong_21
yongyong_21   2012.09.21 13:43

我之前遇到的这个问题是用下面这个代码解决的。

progressDialog.setMessage(
    Html.fromHtml("<font color='white'>" + Message + "</font>"));
qq_27578023
qq_27578023   2016.05.27 18:11
<item name="android:indeterminateOnly">true</item> <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item> <item name="android:indeterminateBehavior">repeat</item> <item name="android:indeterminateDuration">3500</item> <item name="android:minWidth">48dip</item> <item name="android:maxWidth">48dip</item> <item name="android:minHeight">48dip</item> <item name="android:maxHeight">48dip</item> <item name="android:indeterminateOnly">true</item> <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item> <item name="android:indeterminateBehavior">repeat</item> <item name="android:indeterminateDuration">3500</item> <item name="android:minWidth">48dip</item> <item name="android:maxWidth">48dip</item> <item name="android:minHeight">48dip</item> <item name="android:maxHeight">48dip</item>
gxl_1314520
gxl_1314520   2016.12.02 12:28

bootStrap技术...........................

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!