Mobilentwicklung: Jetpack Compose 1.4 arbeitet an Seitenwechsel und Flow-Layouts
Das Android-UI-Toolkit integriert experimentelle Pager für einen vereinfachten Seitenwechsel und bringt Flow-Layouts für die Item-Darstellung in Containern.
Google hat sein Android-UI-Toolkit Jetpack Compose in der Version 1.4 veröffentlicht. Das Release bringt integrierten Support für vertikale und horizontale Seitenwechsel, Flow-Layouts und zusätzliche Anpassungsmöglichkeiten für Textfelder. Jetpack Compose verwendet die Programmiersprache Kotlin und ist das von Android empfohlene Toolkit zum Erstellen nativer User Interfaces.
Seitenwechsel ohne Umwege
Version 1.4 bietet out-of-the-box zwei neue experimentelle Composables zum vertikalen und horizontalen Seitenwechsel zwischen verschiedenen Inhalten: VerticalPager
und HorizontalPager
. Sie sollen eine ähnliche Funktion ermöglichen wie PageViewer
im View-System. Ebenso wie bei LazyRow
und LazyColumn
entfällt die Notwendigkeit, auf Adapter oder Fragmente zurückzugreifen. Innerhalb des Pager
lässt sich ein Composable einbetten:
// Display 10 items
HorizontalPager(pageCount = 10) { page ->
// Your specific page content, as a composable:
Text(
text = "Page: $page",
modifier = Modifier.fillMaxWidth()
)
}
Standardmäßig nimmt HorizontalPager
die gesamte Breite und VerticalPager
die gesamte Höhe des Bildschirms ein. Diese Werte lassen sich jedoch bei Bedarf anpassen. Weitere Informationen zum Anwenden der neuen Pager bietet die Dokumentation.
Fließendes Layout und flexiblere Textfelder
Bei unbekannter oder dynamischer Größe von Items und Containern sollen die neuen Flow-Layouts FlowRow
und FlowColumn
ihren Vorteil ausspielen. Sie sollen Items in einem Container auf effiziente Weise darlegen, indem die Items bei einem auftretenden Platzmangel in die nächste Zeile (row) oder Spalte (column) weiterfließen. Daneben erlauben die Flow-Layouts eine dynamische Größenanpassung mittels Gewichten, um Items innerhalb des Containers zu verteilen.
An TextField
hat das Team hinter Jetpack Compose ebenfalls gearbeitet. Ein solches Textfeld innerhalb einer scrollbaren Column
oder LazyColumn
soll nun nicht mehr – wie es bisher der Fall sein konnte – nach dem Fokussieren durch die Bildschirmtastatur überdeckt werden. Daneben stehen einige neue Möglichkeiten zur Textanpassung bereit. Beispielsweise lässt sich Text per TextStyle.drawStyle
mit einem Umriss versehen und Zeilenumbrüche lassen sich per TextStyle.lineBreak
näher definieren.
Entwicklerinnen und Entwickler, die ihren Text in Bewegung versetzen wollen, können den basicMarquee
-Modifier verwenden. Aufgrund seiner Eigenschaften als Modifier lässt er sich zudem auf eine beliebige Composable anwenden, die sich Marquee-ähnlich bewegen soll. Im Web war das einst für Microsofts Internet Explorer entwickelte Marquee-HTML-Tag im vergangenen Jahr noch auf einem Prozent aller mobilen Webseiten zu finden.
Weitere Details zum neuen Minor Release sind im Android-Developer-Blog aufgeführt.
(mai)