2012-04-14 13 views
7

Ich möchte eine Zeichenfolge sagen sagen "stackoverflow" in der kreisförmigen Ansicht wie unten Bild kann jemand vorschlagen, wie es geht. Und auch ich brauche Click-Ereignis auf jedem Characer.Text in kreisförmiger Ansicht zeichnen?

IMAGE

+0

[Werfen Sie einen Blick auf diese, wird es vor gefragt worden] (http: // Stackoverflow. com/a/8343851/420015) – adneal

+0

war es, einen Kreis um Text zu zeichnen, aber nicht, um Text in zirkulärer Weise zu zeichnen –

+0

[Okay, aber es wurde bereits gefragt. Dieser Link ist richtig] (http://stackoverflow.com/a/8337972/420015) – adneal

Antwort

10

Sie müssen dafür eine benutzerdefinierte Ansicht erstellen. Erstellen Sie in der onDraw-Methode ein Pfadobjekt, fügen Sie diesem Objekt einen Kreis hinzu und verwenden Sie anschließend das Canvas-Objekt, um Text für diesen Pfad zu zeichnen.

Path path = new Path(); 
path.addCircle(x, y, radius, Path.Direction.CW); 
myCanvas.drawTextOnPath(myText, path, offset, 0, myPaint); 

Edit:

Verwendung dieser Codezeile, wenn OS 4.0 und höher mit:

setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
+0

anklickt, aber was ist mit dem Klicken Ereignis auf ihm –

+0

kann ich Klickereignis auf ihm haben –

+0

irgendeine Idee über Klickereignis auf ihm? –

0

Werfen Sie einen Blick auf beide Path.addCircle und Canvas.drawTextOnPath API.