【发布时间】:2013-01-02 05:12:46
【问题描述】:
我正在尝试使用canvas.rotate() 旋转我的TextView 子类:
canvas.save();
final int w = getWidth();
final int h = getHeight();
float px = w/2f;
float py = h/2f;
canvas.rotate(mAngle, px, py);
super.draw(canvas);
canvas.restore();
TextView 被旋转了,但是我的视图的边界被剪掉了:
我知道这是因为我的视图的大小 - 它在旋转过程中没有改变,而它应该改变。但是,如果我在onMeasure 中更改宽度\高度,问题仍然存在——我正在使用LayoutParams.WRAP_CONTENT,所以TextView 只需根据setMeasuredDimensions 中提供的值更改它的大小。
我该如何解决这个问题?
【问题讨论】:
-
尝试设置android:clipChildren=false;和 android:clipToPadding=false;到 TextView 的父级。
-
@Leonidos 它在旋转时会导致奇怪的伪影。另外,我必须剪辑一些视图,所以我不能只设置
clipChildren=false。