可以在Android中扩展画布吗?
我有一个旋转的TextView类,我在onDraw方法中旋转该类的画布:可以在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已正确定位和旋转,但文本似乎已被剪
@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做些什么,比如旋转它?