3

我尝试使用 canvas.rotate() 方法使文本垂直。但是在 android 4.0 - 4.1 我得到了一个“跳舞的字母”,见截图。发生了什么,我该如何解决?请帮我。

4.0 - 4.1 结果:

在此处输入图像描述

正常结果:

在此处输入图像描述

这是代码

 @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint textPaint = new Paint();
        textPaint.setColor(Color.WHITE);
        textPaint.setTextSize(30);
        canvas.rotate(90);
        canvas.drawText(text, 0, -getWidth()/2, textPaint);
        canvas.save();
        canvas.restore();
    }
4

1 回答 1

0

简单地说,您可以尝试一下:

使用textView并设置rotateAnimate它和setDuration最小值并设置setFillAfter(true)如下:

  RotateAnimation rt = new RotateAnimation(0, 90,textView.getLayoutParams().width/2,textView.getLayoutParams().height/2);
  rt.setDuration(1);                
  rt.setFillAfter(true);
  textView.startAnimation(rt);

很简单

于 2015-10-11T17:51:06.837 回答