【问题标题】:Right to left progress bar with text带有文本的从右到左的进度条
【发布时间】:2014-08-29 13:56:02
【问题描述】:

我需要一个进度条,根据变量从右到左或从左到右显示进度。我在栏的中间也有文字。尽管如此,我正在使用自定义类。对于旋转栏,我关注了this 线程,但不知何故,文本没有显示,或者它被旋转了,或者一切都从视图中消失了......

无旋转代码:

protected synchronized void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    // draw text
    }

我有一个属性positive 告诉我是从左边开始还是从右边开始。这很容易,如果我没有文本,我只需在代码中的某处调用setRotation(),但现在我正在尝试旋转画布,但我无法管理它以正确顺序排列所有内容。有人可以帮我吗?

【问题讨论】:

    标签: android canvas android-progressbar


    【解决方案1】:

    我刚发现。使用this 线程,我最终得到以下代码:

    protected synchronized void onDraw(Canvas canvas) {
        canvas.save();
        if(!positive) {
            int cx = this.getMeasuredWidth() / 2;
            int cy = this.getMeasuredHeight() / 2;
            canvas.scale(-1f, 1f, cx, cy);
        }
        super.onDraw(canvas);
        canvas.restore();
        // draw text
    }
    

    我不知道为什么旋转对我不起作用,但 scale 方法可以正常工作。

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 2015-12-07
      相关资源
      最近更新 更多