Heim > Java > javaLernprogramm > Wie kann ich Widgets in Android in mehrere Zeilen umbrechen?

Wie kann ich Widgets in Android in mehrere Zeilen umbrechen?

DDD
Freigeben: 2024-11-11 17:42:03
Original
467 Leute haben es durchsucht

How Can I Wrap Widgets to Multiple Lines in Android?

Zeilenumbrechendes Widget-Layout für Android: Ein benutzerdefiniertes Layout zum Umbrechen von Widgets

Problem:

Diese Frage befasst sich mit der Notwendigkeit eines Layouts, das eine Folge von Widgets in einem umschlossenen Format anzeigt, ähnlich wie Text auf einem Bildschirm dargestellt wird. Der verfügbare horizontale Platz reicht nicht aus, um alle Widgets in einer einzelnen Zeile unterzubringen, daher sollte das Layout diese „Sätze“ in die nächste Zeile umbrechen.

Lösung:

Die Der bereitgestellte Code demonstriert die Erstellung eines benutzerdefinierten Layouts namens „PredicateLayout“, das diese Anforderung erfüllt:

public class PredicateLayout extends ViewGroup {...}
Nach dem Login kopieren

Dieses Layout ordnet untergeordnete Widgets effizient an Ähnlich wie bei Text werden sie zeilenweise angezeigt und bei Bedarf nahtlos in nachfolgende Zeilen umgebrochen.

Highlights der Implementierung:

Die Implementierung umfasst das Überschreiben von Folgendem Methoden zum Definieren des Verhaltens des Layouts:

  • onMeasure berechnet die Abmessungen des Layouts und seiner untergeordneten Elemente basierend auf der verfügbaren Breite und height.
  • generateDefaultLayoutParams legt die Standard-Layout-Parameter für untergeordnete Widgets fest.
  • checkLayoutParams stellt sicher, dass untergeordnete Widget-Parameter mit dem Layout kompatibel sind.
  • onLayout positioniert untergeordnete Widgets innerhalb des Layouts basierend auf ihre gemessenen Abmessungen und die verfügbaren Leerzeichen.

Ergebnis:

Das benutzerdefinierte PredicateLayout löst das Problem, indem es ermöglicht, Widgets zeilenumbrechend anzuordnen, ähnlich wie Text angezeigt wird . Das resultierende Layout ähnelt optisch dem gewünschten Verhalten verpackter Widgets:

[Hello] [Hello] [Hello] [Hello] [Hello]
[Hello] [Hello] [Hello] [Hello]
Nach dem Login kopieren

Zusätzliche Informationen:

Diese Lösung ist ein Proof of Concept und kann von weiteren Verbesserungen profitieren. Feedback und Vorschläge sind willkommen. Das XML-Layout und der Code für PredicateLayout werden zur einfachen Implementierung bereitgestellt.

Das obige ist der detaillierte Inhalt vonWie kann ich Widgets in Android in mehrere Zeilen umbrechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage