Saltar al contenido

Flutter (Dart) ¿Cómo agregar una copia al portapapeles al tocar una aplicación?

Nuestros mejores programadores han agotado sus depósitos de café, buscando a tiempo completo por la resolución, hasta que Emiliano encontró el arreglo en GitHub y hoy la comparte contigo.

Solución:

importar:

import 'package:flutter/services.dart';

Y luego simplemente implemente esto:

onTap: () Clipboard.setData(new ClipboardData(text: "your text"));,

Puede usar el paquete Flutter clipboard_manager: Administrador de portapapeles Flutter

Para instalarlo, sigue las instrucciones de esta página, bastante sencillas: proceso de instalación del administrador del portapapeles Flutter

Para usarlo, impórtelo en el archivo .dart que está escribiendo y luego puede usar esto: ClipboardManager.copyToClipBoard("your text to copy")

Donde “su texto para copiar” puede ser sustituido por cualquier string desea copiar en el portapapeles.

Si desea crear una barra de bocadillos después de copiar el texto, ya que es asíncrono, puede hacerlo:

ClipboardManager.copyToClipBoard("your text to copy").then((result) 
                        final snackBar = SnackBar(
                          content: Text('Copied to Clipboard'),
                          action: SnackBarAction(
                            label: 'Undo',
                            onPressed: () ,
                          ),
                        );
                        Scaffold.of(context).showSnackBar(snackBar);
                      );

Anexo: si observa el código fuente del paquete, lo que básicamente hace es esto:

Clipboard.setData(new ClipboardData(text: "your text to copy"));

Sin embargo, encuentro que el poco más de azúcar sintáctico y la ventaja de ser asíncrono lo convierten en una mejor solución, nada que no puedas hacer con Vanilla Flutter, pero lo encuentro un poco mejor.

Si desea una mejor solución sin ninguna dependencia que funcione de forma asíncrona, use esto:

import 'package:flutter/services.dart';

 Clipboard.setData(new ClipboardData(text: email)).then((_)
          Scaffold.of(context).showSnackBar(      
          SnackBar(content:Text("Email address copied to clipboard")));
    );

Nos puedes añadir valor a nuestro contenido cooperando tu veteranía en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *