我需要实现一个自定义的垂直Progressbar,如下图所示。它必须在开头有一个圆圈,在结尾有一个箭头。
实现这一目标的最佳方法是什么?我不是设计专家,因此我不知道使用9png文件或创建自己的可绘制类或其他选项会更容易。
我尝试使用以下repo https://github.com/halzhang/Android-VerticalProgressBar,但这只会旋转ProgressBar,它无法应用我需要的自定义视图。
答案 0 :(得分:0)
最后,我创建了一个从 View 类扩展的自定义视图,并且我已经覆盖了 onDraw 方法,绘制了一条直线,一个圆和一个三角形。< / p>
检查以下代码:
@Override
protected synchronized void onDraw(Canvas canvas) {
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mPaint.setColor(getResources().getColor(R.color.grey_300));
mPaint.setStrokeWidth(STROKE_WIDTH);
mPaint.setAntiAlias(true);
canvas.drawLine(centerX, MARGIN, centerX, getHeight() - MARGIN, mPaint);
canvas.drawCircle(centerX, MARGIN, STROKE_WIDTH, mPaint);
mPath.reset();
mPath.moveTo(0, STROKE_WIDTH * 2);
mPath.lineTo(-STROKE_WIDTH, 0);
mPath.lineTo(STROKE_WIDTH, 0);
mPath.close();
mPath.offset(centerX, getHeight() - TOP_BOTTOM_MARGIN - STROKE_WIDTH);
canvas.drawPath(mPath, mPaint);
}