可以在Android中扩展画布吗?

可以在Android中扩展画布吗?,android,canvas,rendering,custom-view,Android,Canvas,Rendering,Custom View,我有一个旋转的TextView类,我在onDraw方法中旋转该类的画布: @Override protected void onDraw(final Canvas canvas) { canvas.save(); canvas.rotate(-90); canvas.translate(-getHeight(), 0); super.onDraw(canvas); canvas.restore(); } TextView已正确定位和旋转,但文本似乎已被剪

我有一个旋转的TextView类,我在onDraw方法中旋转该类的画布:

@Override
protected void onDraw(final Canvas canvas) {
    canvas.save();
    canvas.rotate(-90);
    canvas.translate(-getHeight(), 0);
    super.onDraw(canvas);
    canvas.restore();
}
TextView已正确定位和旋转,但文本似乎已被剪掉:

如何正确展开
画布
,使
文本视图
不会截断文本


注意突出显示区域是在
super.onDraw(canvas)
之前绘制
canvas
的剪辑边界的结果,因此我知道剪辑区域是正确的。

当然,文本被剪掉了! 如果旋转画布,只需在
视图
内旋转图形,而边界(不依赖于
画布
,但它们由
视图定义)不会旋转。
因此,您必须旋转整个
视图
,就像下面的代码一样:

this.setRotation(-90); // 'this' is your view.

“你确定这是画布的错吗?不是真的,”探索社的@JesseJ说,“看起来TextView忽略了画布的大小,只使用了布局大小。”。有什么建议吗?不太确定。我不太清楚为什么它会被切断。用TextView做些什么,比如旋转它?