TabBar mit Dart/Flutter?

1 Antwort

Dein erstes Child ist ja auch Uebersicht() und damit zeigst du den TabController im TabController im … an. Das kann so nicht funktionieren und du musst als erste View im Tab was anders einsetzen.


linuxlara 
Fragesteller
 21.08.2022, 16:11

Also in der Tabbar View statt Übersicht was anderes. Aber Übersicht soll die erste Seite sein wenn man die App öffnet

0
Babelfish  21.08.2022, 16:33
@linuxlara

Uebersicht ist dein TabController. Im ersten Tab musst du aber eine andere View wie bspw. Home anzegen.

0
linuxlara 
Fragesteller
 21.08.2022, 16:34
@Babelfish

Wie würde das aussehen, entschuldige steh gerade am Schlauch

0
Babelfish  21.08.2022, 17:08
@linuxlara

Na ist doch eigentlich ganz klar. Du hast die View Uebersicht, die gleichzeitig der TabController ist. Dieser TabController zeigt wiederum verschiedene Views an. Der erste Tab ist dabei die View, die gleich beim Start angezeigt wird. Als erste View zeigst du aber wiederum Uebersicht an, also den TabController. Das geht so nicht und führt zu diesem rekursiven Tabs.

Du brauchst also noch eine weitere View, die im ersten Tab angezeigt wird, also bspw. eine Home View mit Logo und Begrüßung.

body: TabBarView(
  children: [
    Home(), // statt wieder Uebersicht
    Videos(),
    Bilder(),
    About(),
  ],
),
0
linuxlara 
Fragesteller
 21.08.2022, 17:14
@Babelfish

Ah ok und in mein. Dart kann ich da bei home Übersicht stehen lassen

0
linuxlara 
Fragesteller
 21.08.2022, 17:22
@Babelfish

Ja nun hab ich das zu Home geändert und jz hab ich unter der Tabbar die appbar von home

0
linuxlara 
Fragesteller
 21.08.2022, 17:24
@linuxlara

Die tabbar hab ich in der uebericht.dart, dann eine eigene Datei für home und in main. Dart hab ich die routen definiert. Aber in main.dart muss man ja angeben was als erstes angezeigt werden soll mit den home key wort

0
linuxlara 
Fragesteller
 21.08.2022, 17:29
@linuxlara

Aber kann man die TabBar auf allen Seiten sichtbar machen oder ist sie nur auf der ersten Seite sichtbar bzw auf der Seite wo man den Code hält reinschreibt

0
Babelfish  21.08.2022, 17:36
@linuxlara

Wenn du schon eine Home View hast, die was anderes zeigt, dann musst du deine neue View halt anders nennen. Versuche doch mal den Knoten zu lösen und nachzuvollziehen, was da genau abläuft. Schreib es am einfachsten mal so:

body: TabBarView(
 children: [
  Text('Willkommen bei der App'),
  Videos(),
  Bilder(),
  About(),
 ],
),

Wie sieht das denn dann in der App aus?

0