Buscar categorias, pacotes e repositórios

Capa de mentionable_text_field
Detalhes do pacotev0.0.2

mentionable_text_field

Um plugin Flutter para criar campos de texto personalizáveis com recurso de menção. A forma como os usuários correspondentes são exibidos e selecionados é desacoplada do próprio widget, permitindo que você escolha como deseja fazer.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
267
Curtidas
35
Pontos Pub
130

Instalar pacote

flutter pub add mentionable_text_field

Visão geral do pacote

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

Um plugin de campo de texto personalizável para Flutter que permite a funcionalidade de menção, permitindo que os usuários marquem outras pessoas dentro do texto. Ele separa a lógica de correspondência e exibição de menções da interface, oferecendo flexibilidade sobre como as sugestões são apresentadas e selecionadas. Ideal para aplicativos de bate-papo ou sociais, suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. O plugin foi projetado para desenvolvedores que desejam total controle sobre a experiência de menção sem estar presos a um componente de UI específico.

Casos de uso

  • Aplicativos de bate-papo
  • Plataformas de mídia social
  • Ferramentas de edição colaborativa
  • Marcação de usuário em comentários
  • Interfaces de mensagens em tempo real
  • Criação de conteúdo com menções

Principais recursos

  • Exibição e seleção de menções desacopladas
  • UI de sugestão personalizável
  • Suporte multiplataforma
  • Lógica de correspondência extensível
  • Caracteres de gatilho configuráveis
  • Design amigável à integração

Indicado para

  • Desenvolvedores construindo entrada de texto rico
  • Aplicativos que exigem marcação de usuário
  • Equipes que precisam de sistemas flexíveis de menção
  • Projetos com requisitos personalizados de UI
  • Aplicativos Flutter direcionados a múltiplas plataformas

Considerações

  • Requer implementação personalizada para renderização de sugestão
  • Pode ser necessário gerenciamento adicional de estado
  • Não adequado para entradas de texto simples
  • Depende de lógica externa para correspondência de usuários
  • Opções limitadas de estilo embutido
  • Requer um tratamento cuidadoso do cursor e da seleção de texto

README original

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

mentionable_text_field

A flutter plugin to create customizable text field that has a mentionable feature.

Installing:

In your pubspec.yaml

dependencies:
  mentionable_text_field: ^0.0.2
import 'package:mentionable_text_field/mentionable_text_field.dart';


Basic Usage:

    class _MyHomePageState extends State<MyHomePage> {
  List<Mentionable> _mentionableUsers = [];
  late void Function(Mentionable mentionable) _onSelectMention;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: SafeArea(
        child: Stack(
          children: [
            Positioned(
              bottom: 0,
              width: MediaQuery.of(context).size.width,
              height: 200,
              child: Column(
                children: [
                  MentionableTextField(
                    onControllerReady: (value) =>
                    _onSelectMention = value.pickMentionable,
                    maxLines: 1,
                    onSubmitted: print,
                    mentionables: const [
                      MyUser('John Doe'),
                      MyUser('Jeanne Aulas'),
                      MyUser('Alexandre Dumas')
                    ],
                    onMentionablesChanged: (mentionableUsers) =>
                        setState(() => _mentionableUsers = mentionableUsers),
                    decoration:
                    const InputDecoration(hintText: 'Type something ...'),
                  ),
                  Expanded(
                    child: ListView.builder(
                      itemBuilder: (context, index) {
                        final mentionable = _mentionableUsers[index];
                        return ListTile(
                          leading: const Icon(Icons.person),
                          title: Text(mentionable.label),
                          onTap: () => _onSelectMention(mentionable),
                        );
                      },
                      itemCount: _mentionableUsers.length,
                    ),
                  )
                ],
              ),
            )
          ],
        ),
      ),
    );
  }
}



Custom usage

In addition to basic textField's attributes, There are other options:\

Properties Description
ValueChanged<MentionTextEditingController>? onControllerReady A callback to retrieve the TextField controller when ready
List<Mentionable> mentionables List of possible Mentionable objects, eg: users.
String escapingMentionCharacter The character used to replace mention. It should not be used by the user to avoid issues. It should be a single character.
MentionablesChangedCallback onMentionablesChanged Callback that is called on each new characters typed in TextField. It gives the current candidates to mention feature.
TextStyle mentionStyle Text Style applied to mentions

Additional information

Don't hesitate to suggest any features or fix that will improve the package!

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.