请用android写一段自定义textview控件代码实现textview可随意调整旋转角度
时间: 2023-03-21 11:00:13 浏览: 213
好的,以下是一个简单的Android自定义TextView控件代码,可以让TextView在屏幕上任意旋转:
```java
public class RotatableTextView extends androidx.appcompat.widget.AppCompatTextView {
private float mDegrees;
public RotatableTextView(Context context) {
super(context);
}
public RotatableTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RotatableTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(mDegrees, getWidth() / 2f, getHeight() / 2f);
super.onDraw(canvas);
canvas.restore();
}
public void setRotationDegrees(float degrees) {
mDegrees = degrees;
invalidate();
}
}
```
在这个自定义TextView控件中,我们定义了一个mDegrees变量,表示旋转角度。在onDraw()方法中,我们将Canvas旋转到指定的角度,然后调用父类的onDraw()方法来绘制文本。最后,我们通过setRotationDegrees()方法来更新旋转角度并重新绘制TextView。
这个自定义TextView控件可以像普通的TextView一样使用,并且可以通过setRotationDegrees()方法来随意调整旋转角度。例如,如果你想将TextView旋转45度,你可以这样做:
```java
RotatableTextView rotatableTextView = findViewById(R.id.rotatableTextView);
rotatableTextView.setRotationDegrees(45);
```
这样就可以让TextView在屏幕上以45度的角度旋转了。
阅读全文