Zobrazení nadpisu obrazovky - zizanek/-github-tz-pma-2026-priprava GitHub Wiki

Zobrazení nadpisu obrazovky: ActionBar vs. Vlastní TextView v layoutu

Při vývoji aplikací v novějších verzích Android Studia je častým jevem, že se po zavolání příkazu title = "..." v kódu aktivity v horní části obrazovky nezobrazí žádný text.


1. Proč příkaz title = "..." nefunguje

Historicky obsahovala každá aktivita horní systémový pruh zvaný ActionBar (či AppBar). Příkaz title = "Objednávka kola" v Kotlinu směřuje text právě do této lišty.

V moderních šablonách projektů (zejména s motivem Material 3) je však jako výchozí styl nastaveno téma s příponou .NoActionBar:

<style name="Base.Theme.MyApp004Objednavka" parent="Theme.Material3.DayNight.NoActionBar">

Z tohoto důvodu je systémová horní lišta zcela skryta, a příkaz title = "..." tak nemá žádný viditelný prvek, do kterého by mohl text vykreslit.


2. Řešení pomocí vlastního TextView v layoutu

Namísto úprav v konfiguračních XML souborech stylů (themes.xml) je moderním a často preferovaným řešením vytvoření vlastního nadpisu přímo v souboru layoutu (activity_main.xml).

Ukázka implementace:

<TextView
    android:id="@+id/tvHeaderTitle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Objednávka kola"
    android:textSize="24sp"
    android:textStyle="bold"
    android:textAlignment="center"
    android:layout_marginBottom="16dp" />

3. Výhody použití vlastního prvku v layoutu

Tento přístup přináší oproti systémovému ActionBaru několik zásadních výhod:

  • Plná vizuální kontrola: Text, velikost písma (textSize), řez (textStyle), zarovnání (textAlignment) i odsazení jsou definovány přímo v XML layoutu a lze je okamžitě vidět v náhledu (Design Preview).
  • Nezávislost na systémových tématech: Není nutné zasahovat do souborů themes.xml a řešit případné rozdíly mezi denním a nočním režimem.
  • Moderní vzhled: Od klasických tlustých horních lišt z éry starého Androidu se v moderním mobilním designu upouští ve prospěch vzdušnějších a čistších obrazovek, kde je nadpis přirozenou součástí obsahu stránky.
  • Jednoduchost pro výuku: Pro studenty je propojení srozumitelnější – nadpis je standardní komponenta TextView stejně jako ostatní textové popisky na obrazovce.