Tab

interface Tab

Interfejs reprezentujący zakładkę w globalnym systemie nawigacji.

Każda zakładka aplikacji (Asian Media, Games, Settings) implementuje ten interfejs. Zakładki są zarządzane przez AppRouter i każda ma własny stos ekranów.

Wymagane właściwości

  • options - tytuł i opcjonalna ikona (mogą być dynamiczne)

  • index - unikalny identyfikator zakładki (0, 1, 2...)

  • getInitialScreen() - pierwszy ekran wyświetlany po otwarciu zakładki

Przykład implementacji

class MyTab : Tab {
override val options @Composable get() = TabOptions(
title = "Moja sekcja",
icon = painterResource("icons/my_icon.xml")
)
override val index: UShort = 2u

override fun getInitialScreen() = MyReportScreen()
}

Properties

Link copied to clipboard
abstract val id: String

Unikalny, stabilny identyfikator tekstowy zakładki. Używany do identyfikacji w całym systemie, w tym przez zewnętrzne zdarzenia nawigacyjne (np. z API). Przykład: "games", "settings".

Link copied to clipboard

Określa, czy zakładka powinna być renderowana w głównym pasku nawigacyjnym (np. AppTopBar). Ustawienie na false pozwala na "ukrycie" zakładki, do której nawigacja odbywa się w inny sposób (np. przez przycisk ustawień bądź API).

Link copied to clipboard
@get:Composable
abstract val options: TabOptions

Opcje konfiguracyjne zakładki.

Functions

Link copied to clipboard
abstract fun getInitialScreen(): Screen

Zwraca pierwszy ekran wyświetlany po przełączeniu na tę zakładkę.