Leinwand Drawtext Richtung

Wie kann man diesen Text vertikal schreiben? Wie man Text um 90 Grad dreht? Schreiben Sie jeden Buchstaben einzeln ist dumm, aber jetzt weiß ich keinen anderen Weg.

Paint paint = new Paint(); public DrawView(Context context, double arr[]) { super(context); paint.setColor(Color.BLACK); } @Override public void onDraw(Canvas canvas) { canvas.drawText("Test",50, 50, paint); } 

  • Kann nicht absichtlich extra entfernen!
  • Overriding onTouchEvent im Wettbewerb mit ScrollView
  • Wie benutzt man Google Map V2 im Fragment?
  • Rundschreiben
  • Integration von Unity mit Eclipse - Wie folgt man den Anweisungen des "offiziellen" Tutorials?
  • Hinzufügen von Viewpager als Scrolling-Header in Listview
  • Nehmen Sie und speichern Sie Bild auf Knopf drücken
  • FitnessActivities.getName (int i) Methode ist veraltet, welche Methode stattdessen verwenden?
  • Wie bekomme ich die absoluten Koordinaten einer Ansicht
  • Festlegen eines benutzerdefinierten Assets-Verzeichnisses für Unit-Tests in Android Studio
  • String-Date-Konvertierung mit Nanosekunden
  • Wie konfiguriere ich einen HTTP Proxy wie Fiddler2 oder Charles Web Proxy mit dem neuesten Android Emulator unter Windows?
  • 2 Solutions collect form web for “Leinwand Drawtext Richtung”

    Einfache Rotation von Text (oder irgendetwas anderes) ist einfach: Verwenden Sie die rotate() Methode, um die Leinwand zu drehen (danach wird sie zurückgedreht, sonst wird alles, was Sie zeichnen, gedreht):

     canvas.save(); canvas.rotate(90f, 50, 50); canvas.drawText("Text",50, 50, paint); canvas.restore(); 

    Die save() und restore() Methoden speichern jeweils den Zustand der Leinwand und stellen sie wieder her. So werden die restlichen Elemente nicht gedreht. Wenn man den Text nur malen will, sind diese beiden Methoden nicht nötig.

    Wenn du die Zeichen der Zeichenfolge untereinander setzen willst, musst du jeden Charakter separat verarbeiten. Zuerst musst du die Schrifthöhe erhalten und beim Zeichnen jedes Zeichens musst du die y-Koordinate mit dieser Höhe immer wieder vergrößern.

     int y = 50; int fontHeight = 12; // I am (currently) too lazy to properly request the fontHeight and it does not matter for this example :P for(char c: "Text".toCharArray()) { canvas.drawText(c, 50, y, paint); y += fontHeight; } 

    Korrekte Version ist: Canvas canvas_front = new Canvas (bitmap_front);

      Paint paint = new Paint(); paint.setColor(Color.rgb(140, 0, 0)); paint.setAlpha(80); paint.setStrokeWidth(2); 

    Canvas_front.drawLine (0, (float) (frontIV.getHeight () * 0.9), frontIV.getWidth (), (float) (frontIV.getHeight () * 0.9), Farbe);

      canvas_front.save(); canvas_front.rotate((float) 90 , 50, 50); canvas_front.drawText("Text",50, 50, paint); canvas_front.restore(); frontIV.setImageBitmap(bitmap_front); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.