custom_clipboard 0.0.2
custom_clipboard: ^0.0.2 copied to clipboard
Clipboard plugin
import 'package:custom_clipboard/custom_clipboard.dart';
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(home: HomePage());
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String? _clipboardData;
@override
void initState() {
super.initState();
_getClipboard();
}
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(title: const Text('CustomClipboard Example')),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: double.infinity,
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 4),
child: Card(
child: Padding(
padding: const EdgeInsets.all(8),
child: Column(
children: [
Text(
'Clipboard data',
style: Theme.of(context).textTheme.headlineSmall,
),
const SizedBox(height: 16),
Align(
alignment: Alignment.centerLeft,
child: Text(
_clipboardData ?? '',
style:
Theme.of(context).textTheme.bodyMedium?.copyWith(
color: Colors.blue,
fontStyle: FontStyle.italic,
),
),
),
],
),
),
),
),
const SizedBox(height: 32),
ElevatedButton(
onPressed: () async {
if (!context.mounted) return;
try {
await clearClipboard();
await _getClipboard();
} catch (error) {
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
backgroundColor: Theme.of(context).primaryColor,
content: Text('$error'),
),
);
}
},
child: const Text('Clear Clipboard'),
),
],
),
);
Future<void> _getClipboard() async {
final data = await getClipboard();
setState(() => _clipboardData = data);
}
}