Setelah proses instalasi plugin selesai, dapat digunakan untuk mengakses media library dan camera.
Buka file widgets/add_image.dart, lalu import library
import 'package:image_picker/image_picker.dart';
Pada class class _AddImageState, tambahkan code
File _img;
final picker = ImagePicker();
Future<void> _takePic() async {
final pickedFile =
await picker.getImage(source: ImageSource.camera, maxWidth: 600);
setState(() {
if (pickedFile != null) {
_img = File(pickedFile.path);
} else {
print('No image selected.');
}
});
}
Masih pada class _AddImageState, pada FlatButton Take Pic, panggil fungsi _takePic pada onpress.
FlatButton.icon(
icon: Icon(Icons.camera),
label: Text('Take Pic'),
textColor: Theme.of(context).primaryColor,
onPressed: _takePic,
),
Berikut file akhir dari add_image.dart
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
class AddImage extends StatefulWidget {
@override
_AddImageState createState() => _AddImageState();
}
class _AddImageState extends State<AddImage> {
File _img;
final picker = ImagePicker();
Future<void> _takePic() async {
final pickedFile =
await picker.getImage(source: ImageSource.camera, maxWidth: 600);
setState(() {
if (pickedFile != null) {
_img = File(pickedFile.path);
} else {
print('No image selected.');
}
});
}
@override
Widget build(BuildContext context) {
return Row(
children: [
Container(
width: 100,
height: 100,
decoration: BoxDecoration(
border: Border.all(width: 1, color: Colors.grey),
),
child: _img != null
? Image.file(
_img,
fit: BoxFit.cover,
width: double.infinity,
)
: Text(
'No Image',
textAlign: TextAlign.center,
),
alignment: Alignment.center,
),
SizedBox(
width: 10,
),
Expanded(
child: FlatButton.icon(
icon: Icon(Icons.camera),
label: Text('Take Pic'),
textColor: Theme.of(context).primaryColor,
onPressed: _takePic,
),
),
],
);
}
}
Jika target Android <29, maka tidak ada tambahan konfigurasi. Sementara untuk 29+ diperlukan tambahan konfigurasi pada file android/app/src/main/AndroidManifest.xml.
Silakan lihat detailnya di https://pub.dev/packages/image_picker untuk mendapatkan informasi uptodate.
