如何在没有画布的情况下旋转textview

时间:2013-07-28 11:39:15

标签: android textview

我想在180度显示一个textview。如何显示这样的textview enter image description here我通过扩展textview尝试了这个。但是我不能设置长度和高度我不知道为什么。

public class MyTextView180 extends TextView {

private int angle = 180;

public MyTextView180(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.setGravity(Gravity.CENTER);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
}

@Override
protected void onDraw(Canvas canvas) {
    canvas.save();
    canvas.translate(getCompoundPaddingLeft(), getExtendedPaddingTop());
    canvas.rotate(angle, this.getWidth() / 2f, this.getHeight() / 2f);
    super.onDraw(canvas);
    canvas.restore();
}

public void setAngle(int textAngle) {
    angle = textAngle;
}

}

1 个答案:

答案 0 :(得分:1)

TextView | Android developers link

如何不扩展TextView并使用setRotation(float),setRotationX(float)(和y)。 如有必要,也不要忘记设置轴心点。