Üzerinde bölmeler bulunan dikey ilerleme çubuğu yapmak istiyorum. ancak bunu yapamam. Bu kod yatay ilerleme çubuğu için iyi çalışıyor, ancak dikey ilerleme çubuğu gibi çalışmak istediğinizde işe yaramıyor. bölücü ile dikey ilerleme çubuğu nasıl yapılır
Herhangi bir yardım için teşekkür ederiz.
class ProgressDrawable extends Drawable {
private static final int NUM_RECTS = 10;
Paint mPaint = new Paint();
@Override
protected boolean onLevelChange(int level) {
invalidateSelf();
return true;
}
@Override
public void draw(Canvas canvas) {
int level = getLevel();
Rect b = getBounds();
float height = b.height();
for (int i = 0; i < NUM_RECTS; i++) {
float bottom = height * i/NUM_RECTS;
float top = bottom + 0.9f * height/NUM_RECTS;
mPaint.setColor((i + 1) * 10000/NUM_RECTS <= level? 0xff888888 : 0xffbbbbbb);
// canvas.drawRect(left, b.top, right, b.bottom, mPaint);
//canvas.drawRect(left, b.top, right, b.bottom, mPaint);
canvas.drawRect(bottom, b.bottom, top, b.top, mPaint);
}
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(ColorFilter cf) {
}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
}
yüzden x <-> y değerlerini alışverişi ile sorun nedir? Bir çalışma kodunuz var, bu yüzden sadece koordinatları değiştirin, "draw" yönteminde sadece ** dört ** satır var ... – pskink
Onu değiştirdim, ama – abh22ishek
'u değil, 4 satırı değiştireceksin. herhangi bir şey eklemek – pskink