Buscar pacotes, repositórios e categorias de apps

Capa de flutter_persistent_keyboard_height
Detalhes do pacotev1.0.5

flutter_persistent_keyboard_height

Pacote Flutter para obter a altura do teclado. Pode ser usado para exibir um modal de adesivo/emoticon com a altura correta.

AndroidiOS
Downloads em 30 dias
52
Curtidas
33
Pontos Pub
150

Instalar pacote

flutter pub add flutter_persistent_keyboard_height

Visão geral do pacote

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

Um pacote Flutter que fornece persistentemente a altura do teclado na tela, permitindo ajustes precisos da interface. É especialmente útil para posicionar elementos como modais de adesivos ou emojis em relação ao teclado. O pacote funciona em ambas as plataformas Android e iOS, garantindo comportamento consistente. Ele escuta mudanças no estado do teclado e expõe a altura atual por meio de um stream, facilitando sua integração em layouts responsivos.

Casos de uso

  • Ajustando o layout da interface quando o teclado aparece
  • Posicionando modais acima do teclado
  • Garantir que o conteúdo permaneça visível durante a entrada
  • Criando interfaces de bate-papo com áreas de entrada dinâmicas
  • Criando formulários com conscientização em tempo real do teclado

Principais recursos

  • Monitoramento em tempo real da altura do teclado
  • Suporte multiplataforma (Android e iOS)
  • API baseada em fluxo para atualizações reativas
  • Configuração e integração mínimas
  • Detecção precisa da altura mesmo durante animação

Indicado para

  • Desenvolvedores de aplicativos de bate-papo
  • Construtores de formulários
  • Componentes da interface do usuário que exigem consciência do teclado
  • Desenvolvedores criando interfaces com foco em entrada
  • Aplicativos com botões de ação flutuantes próximos ao teclado

Considerações

  • Requer o descarte adequado de fluxos para evitar vazamentos de memória
  • Pode ser necessário lógica adicional para casos extremos como teclados divididos
  • Não adequado para cenários de altura de teclado estática
  • Depende de eventos de teclado específicos da plataforma
  • Deve ser testado em múltiplos dispositivos e versões de sistema operacional

README original

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

flutter_persistent_keyboard_height Pub version

Flutter package to get keyboard height. The height is persisted during app sessions and keyboard states (you can use the height when keyboard is closed).

Usage

Registering the provider

First thing you need to do is wrap a widget from children of which you want to get the keyboard height with PersistentKeyboardHeightProvider. Add it to the builder of your app widget (perhaps MaterialApp) if you want to get keyboard height from all widgets.

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Persistent Keyboard Height Example',
      home: const FlutterPersistentKeyboardHeightExample(),
      builder: (context, child) => PersistentKeyboardHeightProvider(
        child: child!,
      ),
    );
  }
}
Getting the keyboard height

In order to get keyboard height use the PersistentKeyboardHeight inherited widget:

Widget build(BuildContext context) {
  final keyboardHeight = PersistentKeyboardHeight.of(context).keyboardHeight;

  return Scaffold(
    body: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        const Padding(
          padding: EdgeInsets.all(16.0),
          child: TextField(
            decoration: InputDecoration(
              labelText: 'Flutter Persistent Keyboard Size Example',
            ),
          ),
        ),
        const SizedBox(height: 8),
        Text('Keyboard height: $keyboardHeight'),
      ],
    ),
  );
}
Using a custom storage provider

By default, the package uses shared_preferences to preserve the keyboard height but if you want to use a custom solution for preserving the height you can do that by implementing the IPersistentKeyboardHeightStorageProvider interface and passing an instance of the class to PersistentKeyboardHeightProvider:

class CustomPersistentKeyboardHeightStorageProvider
    implements IPersistentKeyboardHeightStorageProvider {
  const CustomPersistentKeyboardHeightStorageProvider();

  @override
  Future<double> getHeight() {
    // read the height from storage
  }

  @override
  Future<void> setHeight(double height) {
    // save the height to storage
  }
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Persistent Keyboard Height Example',
      home: const FlutterPersistentKeyboardHeightExample(),
      builder: (context, child) => PersistentKeyboardHeightProvider(
        child: child!,
      ),
    );
  }
}

Check out the example directory for a complete example app.

The development process

The first version of this package was developed in two livestreams. Unfortunately, my voice disappeared at the middle of the first livestream but the second livestream is okay. In case you want to check them out, here are the links: Part 1, Part 2.

Thanks to

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.