diegoRodicio

View Categories

📚 Para saber máis

🧭 Navegación co deseño Material 3

NavigationBar é a alternativa recomendada a BottomNavigationBar para Material 3. O funcionamento é parecido: cambia o nome dalgúns parámetros e usa NavigationDestination para cada opción.

No exemplo da barra inferior, podemos substituír o valor de bottomNavigationBar por:

NavigationBar(
  selectedIndex: _indiceActual,
  onDestinationSelected: seleccionar, // Recibe o índice escollido.
  destinations: const [
    NavigationDestination(icon: Icon(Icons.home), label: 'Centro'),
    NavigationDestination(icon: Icon(Icons.person), label: 'Perfil'),
  ],
)

NavigationDrawer ofrece tamén un menú lateral co deseño Material 3. NavigationRail coloca a navegación nunha columna lateral, útil en pantallas anchas.

📚 Consulta:

📚 Consulta:

📚 Consulta:

📌 Conservar as seccións con IndexedStack

IndexedStack mantén os fillos na árbore e só mostra o indicado por index. Pode resultar útil para conservar o estado das seccións, a cambio de manter os seus widgets en memoria.

📚 Consulta:

🛠️ Acceder a ScaffoldState

Scaffold.of(context) busca o Scaffold que está por riba dese contexto. Permite, por exemplo, abrir o menú con openDrawer ou mostrar un panel con showBottomSheet.

O contexto do método que está a crear ese mesmo Scaffold aínda non está debaixo del. Para obter un contexto interior podemos usar un widget fillo ou Builder.

📚 Consulta:

⌨️ Adaptar o contido ao teclado

resizeToAvoidBottomInset controla se Scaffold reduce o espazo do corpo cando aparece o teclado. Normalmente convén manter o comportamento por defecto e permitir desprazamento no formulario.

🧱 Máis opcións da estrutura

  • BottomAppBar: barra inferior para accións; pode deixar unha abertura para o botón flotante.
  • persistentFooterButtons: botóns persistentes na zona inferior.
  • MaterialBanner: aviso situado na parte superior, xestionado tamén por ScaffoldMessenger.
  • AppBar.bottom: permite engadir, por exemplo, unha TabBar de pestanas.
  • extendBody e extendBodyBehindAppBar: deixan que o corpo se debuxe detrás das barras; hai que coidar que o contido non quede tapado.

📚 Consulta:

📚 Consulta:

📚 Consulta:

📚 Consulta: