Skip to content

Instantly share code, notes, and snippets.

View redbluenat's full-sized avatar
🏠
Working from home

Natalia MS redbluenat

🏠
Working from home
View GitHub Profile
Widget cameraOptionsWidget() {
return Padding(
padding: const EdgeInsets.all(5.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
showCamera ? cameraTogglesRowWidget() : Container(),
],
),
);
void onTakePictureButtonPressed() {
takePicture().then((String filePath) {
if (mounted) {
setState(() {
showCamera = false;
imagePath = filePath;
});
}
});
}
Widget captureControlRowWidget() {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
IconButton(
icon: const Icon(Icons.camera_alt),
color: Colors.blue,
onPressed: controller != null && controller.value.isInitialized
? onTakePictureButtonPressed
Widget editCaptureControlRowWidget() {
return Padding(
padding: const EdgeInsets.only(top: 5),
child: Align(
alignment: Alignment.topCenter,
child: IconButton(
icon: const Icon(Icons.camera_alt),
color: Colors.blue,
onPressed: () => setState(() {
showCamera = true;
Widget imagePreviewWidget() {
return Container(
child: Padding(
padding: const EdgeInsets.only(top: 10),
child: Align(
alignment: Alignment.topCenter,
child: imagePath == null
? null
: SizedBox(
child: Image.file(File(imagePath)),
Widget cameraPreviewWidget() {
if (!isReady || !controller.value.isInitialized) {
return Container();
}
return AspectRatio(
aspectRatio: controller.value.aspectRatio,
child: CameraPreview(controller));
}
Widget build(BuildContext context) {
return Scaffold(
key: scaffoldKey,
body: Center(
child: SingleChildScrollView(
padding: const EdgeInsets.all(8.0),
child: Column(
children: <Widget>[
Center(
child: showCamera
@override
void initState() {
super.initState();
setupCameras();
}
Future<void> setupCameras() async {
try {
cameras = await availableCameras();
controller = new CameraController(cameras[0], ResolutionPreset.medium);
class CameraState extends State<CameraWidget> {
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
List<CameraDescription> cameras;
CameraController controller;
bool isReady = false;
bool showCamera = true;
String imagePath;
// Inputs
TextEditingController nameController = TextEditingController();
TextEditingController countryController = TextEditingController();
final widgetOptions = [
new BeerListPage(),
new CameraWidget(),
Text('Favourites'),
];