我想要一个有两种颜色的进度条。有时我想增加红色进度和绿色一些时间。简而言之,我想将进度条一分为二。如果我想以红色增加进度,一个绿色部分和另一个红色部分将以红色增加,与绿色相同。请注意,进度从左开始。我怎样才能做到这一点。我知道我应该使用次要进度但是如何?这是我的代码和我正在尝试做的事情。
final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
ShapeDrawable pgDrawable = new ShapeDrawable(new RoundRectShape(
roundedCorners, null, null));
if (answer == true) {
pgDrawable.getPaint().setColor(Color.parseColor(greenColor));
Log.i("green", ": should work");
} else if (answer == false) {
pgDrawable.getPaint().setColor(Color.parseColor(redColor));
Log.i("red", ": should work");
}
ClipDrawable progress = new ClipDrawable(pgDrawable, Gravity.LEFT,
ClipDrawable.HORIZONTAL);
progressBarTotal.setProgressDrawable(progress);
progressBarTotal.setBackgroundDrawable(getResources().getDrawable(
android.R.drawable.progress_horizontal));
if (TotalPercent >= 102) {
Toast.makeText(ProcessGame.this, "Full", Toast.LENGTH_LONG).show();
} else {
progressBarTotal.setProgress(TotalPercent);
TotalPercent = (TotalPercent + 1);
}
如果这可以在 java 中完成,我不想弄乱 xml 的东西。