class RotatedTextView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : androidx.appcompat.widget.AppCompatTextView(context, attrs, defStyleAttr) {
override fun onDraw(canvas: Canvas?) {
canvas?.save()
// 将画布旋转 90 度,围绕 TextView 中心旋转
canvas?.rotate(90f, (width / 2).toFloat(), (height / 2).toFloat())
// 让父类绘制文本
super.onDraw(canvas)
canvas?.restore()
}
}
使用:
<你的包名.RotatedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="我横了" />