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.

In Pocket speichern vorlesen Druckansicht

(Bild: quietbits / Shutterstock.com)

Lesezeit: 2 Min.

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.

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()
    )
}

HorizontalPager erlaubt in Jetpack Compose 1.4 das horizontale Wechseln zwischen Seiten.

(Bild: Google)

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.

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.

Für Container-Inhalte stehen neue Flow-Layouts bereit.

(Bild: Google)

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)