Android TextView Text ausrichten

Lesezeit: 8 Minuten

Wie bekommt man den Text von a TextView im Blocksatz (mit links- und rechtsbündigem Text)?

Ich habe eine mögliche Lösung gefunden Hieraber es funktioniert nicht (auch wenn Sie vertical-center in center_vertical usw. ändern).

  • @Jimbo-Antwort ist richtig und funktioniert definitiv mein Fall an Eingabetext und Textübersicht für die sprache arabisch von rechts nach links eingabe und anzeige, aber für eingabetext musste ich auch gravity=”right” hinzufügen

    – Shareef

    21. Dezember 2012 um 16:33 Uhr


  • Sie können verwenden github.com/pouriaHemmati/JustifiedTextView

    – Pouria Hämati

    13. Juli 2019 um 11:37 Uhr

  • github.com/amilcar-sr/JustifiedTextView kann verwendet werden

    – Reejesh PK

    3. Juli 2021 um 15:49 Uhr

Android TextView Text ausrichten
CommonsWare

Ich glaube nicht, dass Android die vollständige Rechtfertigung unterstützt.

UPDATE 01.01.2018: Android 8.0+ unterstützt Ausrichtungsmodi mit TextView.

  • Nach weiterer Analyse könnten Sie android:gravity=”fill_horizontal” eine Chance geben. Das wird beschrieben als “Erweitern Sie die horizontale Größe des Objekts bei Bedarf, damit es seinen Container vollständig ausfüllt”, aber ich weiß nicht, wie sie den Text “vergrößern”.

    – CommonsWare

    18. August 2009 um 12:35 Uhr

  • android:gravity=”fill_horizontal” hat auch nicht funktioniert. Es sieht so aus, als ob Android doch keine Rechtfertigung unterstützt, na ja 🙂

    Benutzer130076

    19. August 2009 um 11:37 Uhr

  • Nein, Sie können die Eigenschaft nicht wie die Schwerkraft festlegen. Sie können die Ausrichtung Ihres Textes jedoch immer noch festlegen, indem Sie die Webansicht anstelle der Textansicht verwenden. Sie können sich darauf beziehen seal.io/2010/12/only-way-how-to-align-text-in-block-in.html. (Gestohlen von stackoverflow.com/questions/5976627/…)

    – jcaruso

    17. Mai 2013 um 21:57 Uhr


  • @CommonsWare Gibt es jetzt eine richtige Möglichkeit, Text zu rechtfertigen?

    – Johannes R

    11. Februar 2014 um 10:58 Uhr

  • Mann, ich lebe mit starker Webansicht, um dies zu erreichen, und glauben Sie mir, meine Benutzeroberfläche schreit nach neuen Dingen, die der API noch hinzugefügt werden müssen, weil sie für Komponenten wie den Chat in einer Listenansicht verdammt langsam ist.

    – nobalG

    28. Dezember 2016 um 10:06 Uhr


1646631191 759 Android TextView Text ausrichten
einfachjimbo

Die @CommonsWare-Antwort ist richtig. Android 8.0+ unterstützt „Full Justification“ (oder einfach „Justification“, wie es manchmal mehrdeutig bezeichnet wird).

Android unterstützt auch “Bündige Links-/Rechts-Textausrichtung”. Siehe den Wikipedia-Artikel auf Rechtfertigung für die Unterscheidung. Viele Menschen betrachten das Konzept der „Ausrichtung“ als sowohl die vollständige Ausrichtung als auch die Links-/Rechts-Textausrichtung, was letztendlich das ist, wonach sie suchen, wenn sie eine Links-/Rechts-Textausrichtung durchführen möchten. Diese Antwort erklärt, wie Sie die linke/rechte Textausrichtung erreichen.

Es ist möglich, eine linksbündige / rechte Textausrichtung zu erreichen (im Gegensatz zur vollständigen Ausrichtung, wie in der Frage gefragt wird). Zur Veranschaulichung werde ich ein einfaches 2-Spalten-Formular (Beschriftungen in der linken Spalte und Textfelder in der rechten Spalte) als Beispiel verwenden. In diesem Beispiel wird der Text in den Beschriftungen in der linken Spalte rechtsbündig ausgerichtet, sodass sie bündig mit ihren Textfeldern in der rechten Spalte erscheinen.

Im XML-Layout können Sie die TextView-Elemente selbst (die linke Spalte) rechtsbündig ausrichten, indem Sie das folgende Attribut in allen TextViews hinzufügen:

<TextView
   ...
   android:layout_gravity="center_vertical|end">
   ...
</TextView>

Wenn der Text jedoch in mehrere Zeilen umbrochen wird, wird der Text innerhalb der TextView weiterhin linksbündig ausgerichtet. Durch das Hinzufügen des folgenden Attributs wird der eigentliche Text innerhalb der TextView rechtsbündig (linksbündig) ausgerichtet:

<TextView
   ...
   android:gravity="end">
   ...
</TextView>

Also die Schwere Das Attribut gibt an, wie der Text in der TextView ausgerichtet wird layout_gravity gibt an, wie das TextView-Element selbst ausgerichtet/angeordnet wird.

  • Wenn ich das richtig verstehe und die Ergebnisse dieser Tests gegeben sind, ist alles, was dies tut, Text links oder rechts auszurichten. Das rechtfertigt den Text nicht, oder?

    – Paul Lammertsma

    12. September 2011 um 7:31 Uhr

  • Exzellent. Nur um hinzuzufügen, wenn Sie eine Mittenausrichtung wünschen, können Sie dies tun android:layout_gravity="center_horizontal|center" android:gravity="center".

    – Luis A. Florit

    8. Dezember 2012 um 5:33 Uhr

  • Dies ist nur eine Ausrichtung, keine Rechtfertigung. Lesen Sie diesen Wikipedia-Link sorgfältig durch. Der Unterschied zwischen den verschiedenen Begründungsarten betrifft nur die letzte Zeile eines Absatzes. Bei Absätzen mit nur einer Zeile gibt es keinen Links-/Rechts-/Mittensatz.

    – Karu

    30. Januar 2016 um 8:45 Uhr

  • warum antwortest du dann überhaupt hier, wenn es nicht darum geht justify

    – Benutzer924

    15. Oktober 2018 um 15:24 Uhr


  • Hier dreht sich alles um die linke oder rechte Ausrichtung, nicht um den Blocksatz (wie in MS Word). Formale Terminologie ist hier nicht hilfreich, Sie verstehen, was in der Frage gemeint ist.

    – Shuvo Sarker

    29. Februar 2020 um 6:44 Uhr

Android TextView Text ausrichten
Jaydipsinh Zala

TextView in Android O bietet selbst volle Rechtfertigung (neue typografische Ausrichtung).
Sie müssen nur dies tun:

Kotlin

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    textView.justificationMode = JUSTIFICATION_MODE_INTER_WORD
}

Java

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    textView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
}

XML

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:justificationMode="inter_word" />

Standard ist JUSTIFICATION_MODE_NONE (none im XML-Format).

  • Hoffen wir, dass es dann zurück in die Support-Bibliothek portiert wird, O 🙂

    – Stefan Haustein

    25. April 2017 um 18:39 Uhr

  • Bitte Bibliothek hier hinzufügen !!

    – Kunal Dharaiya

    29. Mai 2017 um 10:29 Uhr

  • wie kann man die Verwendung von XML rechtfertigen?

    – Vikash Parajuli

    2. März 2018 um 3:31 Uhr

  • Sie können android:justificationMode=”inter_word” in XML verwenden.

    – Christian D

    13. März 2018 um 15:20 Uhr

  • API 26 erforderlich für android:justificationMode.

    – Bink

    7. Dezember 2018 um 22:55 Uhr

1646631192 313 Android TextView Text ausrichten
Konrad Nowicki

Um Text in Android zu rechtfertigen, habe ich WebView verwendet

    setContentView(R.layout.main);

    WebView view = new WebView(this);
    view.setVerticalScrollBarEnabled(false);

    ((LinearLayout)findViewById(R.id.inset_web_view)).addView(view);

    view.loadData(getString(R.string.hello), "text/html; charset=utf-8", "utf-8");

und HTML.

<string name="hello">
<![CDATA[
<html>
 <head></head>
 <body style="text-align:justify;color:gray;background-color:black;">
  Lorem ipsum dolor sit amet, consectetur 
  adipiscing elit. Nunc pellentesque, urna
  nec hendrerit pellentesque, risus massa
 </body>
</html>
]]>
</string>

Ich kann noch keine Bilder hochladen, um es zu beweisen, aber “es funktioniert für mich”.

1646631192 795 Android TextView Text ausrichten
Mathew Kurian

AKTUALISIERT

Dafür haben wir eine einfache Klasse erstellt. Derzeit gibt es zwei Methoden, um das zu erreichen, wonach Sie suchen. Beides erfordert KEINE WEBANSICHT und UNTERSTÜTZT SPANNABLES.

BÜCHEREI: https://github.com/bluejamesbond/TextJustify-Android

UNTERSTÜTZT: Android 2.0 bis 5.X

EINRICHTEN

// Please visit Github for latest setup instructions.

BILDSCHIRMFOTO

Vergleich.png

  • Ist eine wirkliche Hilfe, aber wenn ich es verwende, meine TextViews behalten nicht das ursprüngliche Format bei, ich beziehe mich auf: Ränder, Textstil und ich denke, dass die Textgröße auch nicht, bitte arbeiten Sie weiter daran, sollte eine wirklich große Hilfe sein

    – Leonardo Sapuy

    17. März 2014 um 21:43 Uhr

  • Nun, ich kann diese Klassen nicht einrichten. Einer von ihnen hatte keinen Paketnamen, der andere gibt einen gelben Fehler aus. Eigentlich kann ich nicht vertrauen.

    – Mehmet

    22. April 2014 um 20:35 Uhr

  • Nette Bibliothek, aber ich weiß immer noch nicht, wie ich Text mit dieser Bibliothek formatieren kann.

    – Semantiker

    25. Juni 2014 um 11:11 Uhr

  • Vielen Dank für diese großartige gemeinsam genutzte Bibliothek, aber sie kann keinen persischen oder arabischen Text unterstützen. Wenn ich die Richtung vorgebe, zieht mein Wort vom letzten bis zum Anfang, anstatt vom Anfang bis zum letzten. Ich meine das: mein Wort ist: “سلام” und seine Auslosung so: “مالس” . (Wenn Sie kein Persisch verstehen, sehen Sie sich dieses Beispiel an: Lassen Sie mich “1234” -> “4321” )

    – Naruto Uzumaki

    25. Februar 2015 um 9:01 Uhr

  • Basierend auf scrollView … Schöne Lösung, kann aber noch keine Antwort finden, die es mit Textview möglich macht. 🙁

    – superUser

    8. Mai 2015 um 14:57 Uhr

Android TextView Text ausrichten
Said Zarinfam

Sie können verwenden JustifiedTextView für Android Projekt in github. Dies ist eine benutzerdefinierte Ansicht, die Blocksatz für Sie simuliert. Es unterstützt Android 2.0+ und Sprachen von rechts nach links.
Geben Sie hier die Bildbeschreibung ein

  • Ist eine wirkliche Hilfe, aber wenn ich es verwende, meine TextViews behalten nicht das ursprüngliche Format bei, ich beziehe mich auf: Ränder, Textstil und ich denke, dass die Textgröße auch nicht, bitte arbeiten Sie weiter daran, sollte eine wirklich große Hilfe sein

    – Leonardo Sapuy

    17. März 2014 um 21:43 Uhr

  • Nun, ich kann diese Klassen nicht einrichten. Einer von ihnen hatte keinen Paketnamen, der andere gibt einen gelben Fehler aus. Eigentlich kann ich nicht vertrauen.

    – Mehmet

    22. April 2014 um 20:35 Uhr

  • Nette Bibliothek, aber ich weiß immer noch nicht, wie ich Text mit dieser Bibliothek formatieren kann.

    – Semantiker

    25. Juni 2014 um 11:11 Uhr

  • Vielen Dank für diese großartige gemeinsam genutzte Bibliothek, aber sie kann keinen persischen oder arabischen Text unterstützen. Wenn ich die Richtung vorgebe, zieht mein Wort vom letzten bis zum Anfang, anstatt vom Anfang bis zum letzten. Ich meine das: mein Wort ist: “سلام” und seine Auslosung so: “مالس” . (Wenn Sie kein Persisch verstehen, sehen Sie sich dieses Beispiel an: Lassen Sie mich “1234” -> “4321” )

    – Naruto Uzumaki

    25. Februar 2015 um 9:01 Uhr

  • Basierend auf scrollView … Schöne Lösung, kann aber noch keine Antwort finden, die es mit Textview möglich macht. 🙁

    – superUser

    8. Mai 2015 um 14:57 Uhr

1646631194 568 Android TextView Text ausrichten
Frank Cheng

Ich schreibe eine Widget-Basis auf nativer Textansicht, um dies zu tun.

github

1646631195 443 Android TextView Text ausrichten

  • Ich würde dieses empfehlen, vor allem, weil es auf der ursprünglichen Textansicht des offiziellen Android-SDK basiert, was meiner persönlichen Meinung nach viel leichter ist als die Technik der Webansicht, die viele Leute zu diesem allgemeinen Thema posten. Wenn Sie eine App erstellen, die speicherintensiv sein muss, z. B. mit Listview-Objekten, sollten Sie so etwas in Betracht ziehen. Ï schon ausprobieren, funktioniert wie erwartet. Wenn Sie andere kennen, die besser sind als diese 1, können Sie Ihre Erfahrungen bitte mit mir teilen.

    – superUser

    8. Mai 2015 um 18:44 Uhr

  • Schöne Arbeit übrigens. Was ich gesucht habe.

    – superUser

    8. Mai 2015 um 18:44 Uhr

  • unterstützt keine RTL-Sprachen wie Persisch

    – Feuer im Loch

    28. Oktober 2015 um 11:45 Uhr

  • @Frank Cheng Sehr nützliche Bibliothek. Ich bekomme viele Leerzeichen am Ende des Absatzes. Wie kann ich es reparieren?

    – iSrinivasan27

    26. Februar 2016 um 5:00 Uhr

  • hat bei mir funktioniert, aber die letzte Zeile der Textansicht wurde abgeschnitten. Ich musste 5 für die Textansicht weiter auffüllen.

    – Tharaka Nirmana

    17. März 2016 um 5:42 Uhr

963190cookie-checkAndroid TextView Text ausrichten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy