本次介紹大多數APP會使用的選取照片
ImagePicker
由於筆者是開發IOS環境
所以過程中大部分為IPhone會遇到的問題和注意事項
其他Device開發環境
建議至pub.dev閱讀套件的Readme喔
千萬別忘記要求讀取相簿.拍照/錄影.錄音權限
在 root根目錄/ios/Runner/Info.plist
NSPhotoLibraryUsageDescription
NSCameraUsageDescription
NSMicrophoneUsageDescription
@override
Widget build(BuildContext context) {
final ImagePicker _picker = ImagePicker();
return Scaffold(
appBar: AppBar(
title: const Text('Image Picker'),
),
body: SizedBox(
width: MediaQuery.of(context).size.width,
child: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
child: path != null
? Image(
image: AssetImage(
path!,
),
height: MediaQuery.of(context).size.height * 0.5,
width: MediaQuery.of(context).size.width * 0.5,
)
: const Icon(Icons.abc_outlined),
),
Container(
color: Colors.black38,
child: TextButton(
onPressed: () async {
XFile? image =
await _picker.pickImage(source: ImageSource.gallery);
//ImageSource.gallery用於讀取相簿
//ImageSource.camera 即可使用相機拍照
setState(() {
if (image != null) {
path = image.path;
}
});
},
child: const Text("Image")),
)
],
),
),
),
);
}