【问题标题】:Custom Vertical Progressbar in AndroidAndroid中的自定义垂直进度条
【发布时间】:2015-09-15 23:52:59
【问题描述】:

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

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

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

【问题讨论】:

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


【解决方案1】:

最后,我创建了一个从 View 类扩展的自定义视图,并重写了 onDraw 方法,绘制了一条线、一个圆和一个三角形。

检查以下代码:

@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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2010-11-20
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多