native_screenshot 1.0.0 icon indicating copy to clipboard operation
native_screenshot: ^1.0.0 copied to clipboard

A simple plugin to take screenshots using native code (iOS & Android).

example/lib/main.dart

import 'dart:io';

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

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
	@override
	_MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
	Widget _imgHolder;

	@override
	void initState() {
		super.initState();

		_imgHolder = Center(
			child: Icon(Icons.image),
		);
	} // initState()

	@override
	Widget build(BuildContext context) {
		return MaterialApp(
			home: Scaffold(
				appBar: AppBar(
					title: Text('NativeScreenshot Example'),
				),
				bottomNavigationBar: ButtonBar(
					alignment: MainAxisAlignment.center,
					children: <Widget>[
						ElevatedButton(
							child: Text('Press to capture screenshot'),
							onPressed: () async {
								String path = await NativeScreenshot.takeScreenshot();

								debugPrint('Screenshot taken, path: $path');

								if( path == null || path.isEmpty ) {
									ScaffoldMessenger.of(context).showSnackBar(
										SnackBar(
											content: Text('Error taking the screenshot :('),
											backgroundColor: Colors.red,
										)
									); // showSnackBar()

									return;
								} // if error

								ScaffoldMessenger.of(context).showSnackBar(
									SnackBar(
										content: Text('The screenshot has been saved to: $path')
									)
								); // showSnackBar()

								File imgFile = File(path);
								_imgHolder = Image.file(imgFile);

								setState(() {});
							},
						)
					],
				),
				body: Container(
					constraints: BoxConstraints.expand(),
					child: _imgHolder,
				),
			),
		);
	} // build()
} // _MyAppState
45
likes
130
pub points
89%
popularity

Publisher

unverified uploader

A simple plugin to take screenshots using native code (iOS & Android).

Homepage
Repository (GitLab)
View/report issues

Documentation

API reference

License

Icon for licenses.Apache-2.0 (LICENSE)

Dependencies

flutter

More

Packages that depend on native_screenshot