我想在180度显示一个textview。如何显示这样的textview 我通过扩展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;
}
}
答案 0 :(得分:1)
TextView | Android developers link
如何不扩展TextView并使用setRotation(float),setRotationX(float)(和y)。 如有必要,也不要忘记设置轴心点。