0
我想尋求一個在進度爲0時呈綠色的尋找欄。 當進度達到50,然後再慢時,顏色緩慢變爲黃色當進度爲100時變爲紅色。Android SeekBar:如何更改正在進行的完整seekbar的顏色
我能夠對搜索欄的進度部分執行此操作。
但是我想要改變搜索條的全部顏色,而不僅僅是進度部分。
有人可以幫忙嗎?
謝謝。
我想尋求一個在進度爲0時呈綠色的尋找欄。 當進度達到50,然後再慢時,顏色緩慢變爲黃色當進度爲100時變爲紅色。Android SeekBar:如何更改正在進行的完整seekbar的顏色
我能夠對搜索欄的進度部分執行此操作。
但是我想要改變搜索條的全部顏色,而不僅僅是進度部分。
有人可以幫忙嗎?
謝謝。
試試這個,你需要改變HSV陣列,以滿足您的需求
final ProgressBar pb = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);
LayerDrawable ld = (LayerDrawable) pb.getProgressDrawable();
final Drawable progressDrawable = ld.findDrawableByLayerId(android.R.id.progress);
OnTouchListener l = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int progress = (int) (event.getX() * 100/pb.getWidth());
float[] hsv = {
event.getX() * 360/pb.getWidth(), 1, 1
};
int color = Color.HSVToColor(hsv);
progressDrawable.setColorFilter(color, Mode.SRC);
pb.setProgress(progress);
return true;
}
};
pb.setOnTouchListener(l);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, 32);
setContentView(pb, lp);