0
仕切りで垂直方向の進行バーを作りたいと思います。しかし、私はそうすることができません。 このコードは水平方向の進行状況バーでうまく動作しますが、垂直方向の進行状況バーのように動作させたい場合、動作しません。 仕切りで垂直方向のプログレスバーを作る方法
助けてください。
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;
}
}
見ることができるので、X <-> yの値を交換すると問題は何ですか?あなたは実用的なコードを持っているので、座標を交換するだけです**描画メソッドで変更する**ライン**が4つあります... – pskink
私はそれを変更しましたが、それは消えて – abh22ishek
4行を変更する何かを追加してください – pskink