Android中的自定义垂直进度条

时间:2015-06-29 13:29:19

标签: android android-custom-view android-progressbar

我需要实现一个自定义的垂直Progressbar,如下图所示。它必须在开头有一个圆圈,在结尾有一个箭头。

enter image description here

实现这一目标的最佳方法是什么?我不是设计专家,因此我不知道使用9png文件或创建自己的可绘制类或其他选项会更容易。

我尝试使用以下repo https://github.com/halzhang/Android-VerticalProgressBar,但这只会旋转ProgressBar,它无法应用我需要的自定义视图。

1 个答案:

答案 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);
}