【发布时间】:2017-02-24 18:47:46
【问题描述】:
我知道有人问过这个问题,但我无法弄清楚我的问题。 我想创建一个进度条,在进度期间将具有三种颜色。 一开始会是蓝色,进度40%后会平滑变为橙色,75%后会平滑变为红色。
我有一个可绘制的背景和一个单一颜色的进度:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/background">
<shape>
<gradient
android:startColor="#666666"
android:centerColor="#808080"
android:endColor="#999999"
android:centerY="1.0"
android:angle="270"/>
<corners android:radius="10dip"/>
</shape>
</item>
<item android:id="@+id/progress">
<clip>
<shape>
<corners android:radius="10dip"/>
<gradient
android:startColor="#0099e6"
android:centerY="0.75"
android:angle="270" />
</shape>
</clip>
</item>
</layer-list>
我动态创建进度条:
Drawable drawable = getResources().getDrawable(R.drawable.progressbar_style);
progressBar.setProgressDrawable(drawable);
progressBar.setMax(100);
new Thread(new Runnable() {
@Override
public void run() {
while (progressStatus < 60){
mHandler.post(new Runnable() {
@Override
public void run() {
progressBar.setProgress(progressStatus);
}
});
try{
Thread.sleep(20);
}catch (InterruptedException e){
e.printStackTrace();
}
progressStatus++;
}
}
}).start();
【问题讨论】:
-
结果如何?一个错误?请更具体。
-
结果是一个颜色的进度条!正如我所描述的,我想要一个具有三种颜色的进度条!!
标签: android xml progress-bar