Wie dreht TextView ohne übersteuerung seine Grenzen?

Ich versuche zu drehen mein Unterklasse von TextView mit canvas.rotate():

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 gedreht wird, jedoch die Grenzen meiner Ansicht beschnitten sind:

Wie dreht TextView ohne übersteuerung seine Grenzen?

Ich verstehe, dass dies ist, weil meiner Ansicht die Größe - es wird nicht geändert werden, während der Drehung, während es sein sollte. Aber wenn werde ich ändern Breite\Höhe in onMeasure problem wird bleiben - ich bin mit LayoutParams.WRAP_CONTENT, so TextView einfach ändern Sie die Größe entsprechend Werte in setMeasuredDimensions.

Wie kann ich dieses problem lösen?

  • versuchen Sie, android:clipChildren=false; und android:clipToPadding=false; TextView Eltern werden.
  • es bewirkt, dass seltsame Artefakte beim drehen. Außerdem hab ich mit dem clip einige Ansichten, ich kann also nicht einfach festlegen clipChildren=false.
Schreibe einen Kommentar