Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.0+18-dev.1

flutter_no_internet_widget

Um novo widget do Flutter para mostrar widgets online ou offline sem nenhum código extra ou dependências.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
4
Curtidas
51
Pontos Pub
150

Instalar pacote

flutter pub add flutter_no_internet_widget

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um widget leve do Flutter que exibe automaticamente uma IU personalizada quando o dispositivo está offline, alternando suavemente para a visualização online quando a conectividade for restaurada. Não requer dependências adicionais ou código boilerplate, tornando fácil integrá-lo em qualquer aplicativo Flutter. O widget monitora o status da rede em tempo real e oferece uma maneira limpa e declarativa de lidar com estados offline sem lógica complexa. Ideal para aplicativos que precisam de feedback imediato sobre mudanças na conectividade.

Casos de uso

  • Exibindo espaços reservados offline em aplicativos
  • Fornecendo feedback do usuário durante a perda de conectividade
  • Melhorando a experiência do usuário com visualizações dinâmicas online/offline
  • Simplificando a gestão do estado da rede
  • Construindo interfaces de usuário resilientes para redes instáveis

Principais recursos

  • Detecção automática do status da rede
  • Configuração mínima sem dependências extras
  • Widgets online e offline personalizáveis
  • Monitoramento de conectividade em tempo real
  • Nenhum código boilerplate necessário

Indicado para

  • Aplicativos simples que precisam de suporte básico offline
  • Desenvolvedores procurando soluções rápidas de estado de rede
  • Aplicativos que exigem interfaces responsivas para mudanças de conectividade
  • Projetos com prazos de desenvolvimento apertados
  • Equipes evitando manipulação complexa de rede

Considerações

  • Limitado à detecção básica online/offline
  • Não lida com tipos específicos de rede (por exemplo, Wi-Fi versus celular)
  • Sem mecanismos embutidos de repetição para solicitações falhas
  • Não adequado para diagnóstico avançado de rede
  • Depende de APIs de conectividade de nível de plataforma

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

flutter_no_internet_widget

flutter_no_internet_widget codecov

Overview

A new Flutter widget shows online or offline screens without extra code or dependencies.

We need a lot of boilerplate code to check every project's network connectivity. Why can't there be a single package that takes care of everything and make the developer's life easy?

I also had the same question and have created this simple widget to help myself and others.

Use case

The package's primary purpose is to show a default offline screen and a mandatory online screen provided while initializing.

Declare this widget at the top of the widget tree once. Whenever there is no internet, the default offline screen or the provided screen will be displayed.

Example

InternetWidget(
 online: Text('Online'),
 offline: Text('offline),
 );

Full Example

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

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return InternetWidget(
      offline: const FullScreenWidget(),
      // ignore: avoid_print
      whenOffline: () => print('No Internet'),
      // ignore: avoid_print
      whenOnline: () => print('Connected to internet'),
      loadingWidget: const Center(child: Text('Loading')),
      online: MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: const MyHomePage(title: 'Flutter Demo Home Page'),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const Text(
                'You have pushed the button this many times:',
              ),
              Text(
                '$_counter',
                style: Theme.of(context).textTheme.headline4,
              ),
              ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(
                    MaterialPageRoute(
                      builder: (context) => const SecondScreen(),
                    ),
                  );
                },
                child: const Text('Navigate'),
              )
            ],
          ),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: _incrementCounter,
          tooltip: 'Increment',
          child: const Icon(Icons.add),
        ),
      ),
    );
  }
}

Video

ezgif-3-b21b127bea

Use this package as a library

Run this command:

With Dart:

 dart pub add flutter_no_internet_widget

With Flutter:

 flutter pub add flutter_no_internet_widget

This will add a line like this to your package's pubspec.yaml (and run an implicit dart pub get):

dependencies:
  flutter_no_internet_widget: [use_latest]

Alternatively, your editor might support dart pub get or flutter pub get. Check the docs for your editor to learn more.

Import it Now in your Dart code, you can use:

import 'package:flutter_no_internet_widget/flutter_no_internet_widget.dart';

Maintainers

Categorias

Dependências

Lista de dependências 5 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.