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.xmla ř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
TextViewstejně jako ostatní textové popisky na obrazovce.