nav_service 0.1.0 copy "nav_service: ^0.1.0" to clipboard
nav_service: ^0.1.0 copied to clipboard

Este paquete ayuda a la navegación entre pantallas, sin la necesidad del context, ya que funciona con GlobalKey

example/main.dart

import 'package:flutter/material.dart';
import 'package:nav_service/nav_service.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        scaffoldMessengerKey: SnackService.messagerKey,
        navigatorKey: NavService.navigatorKey,
        title: 'Material App',
        home: const Page1());
  }
}

class Page1 extends StatelessWidget {
  const Page1({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Home'),
      ),
      body: Center(
          child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          ElevatedButton(
              onPressed: () => NavService.push(const Page2()),
              child: const Text('Next page 2')),
          const SizedBox(height: 20),
          ElevatedButton(
              onPressed: () => SnackService.showSnackbar('Message'),
              child: const Text('Show message')),
        ],
      )),
    );
  }
}

class Page2 extends StatelessWidget {
  const Page2({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Page 2'),
      ),
      body: Center(
          child: ElevatedButton(
              onPressed: () => NavService.push(const Page3()),
              child: const Text('Next page 3'))),
    );
  }
}

class Page3 extends StatelessWidget {
  const Page3({super.key});
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Page 3'),
      ),
      body: Center(
          child: ElevatedButton(
              onPressed: () => NavService.pop(numberSreen: 2),
              child: const Text('Return to home'))),
    );
  }
}
6
likes
150
points
76
downloads

Publisher

unverified uploader

Weekly Downloads

Este paquete ayuda a la navegación entre pantallas, sin la necesidad del context, ya que funciona con GlobalKey

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on nav_service