当我将不推荐的ImagePicker包getImage更改为pickImage时,未来的图像生成器没有再次显示图像,如何解决这个问题。
final picker = ImagePicker();
late Future<PickedFile?> pickedFile = Future.value(null);
FutureBuilder<PickedFile?>(
future: pickedFile,
builder: (context, snap) {
if (snap.hasData) {
return Container(
child: Image.file(
File(snap.data!.path),
fit: BoxFit.contain,
),
color: Colors.blue,
);
}
return Image.asset('images/img.png',height: 100,);
},
),
Future<void> GetImage() async {
pickedFile = picker
.getImage(source: ImageSource.gallery)
.whenComplete(() => {setState(() {})});
}这是另一个函数,它显示了一个错误,但在未来的构建器中从未见过。
Future<void> GetImage() async {
pickedFile = picker
.pickImage(source: ImageSource.gallery,imageQuality: 50)
.whenComplete(() => {setState(() {})}) as Future<PickedFile?>;
}当我使用getImage时,当我尝试使用文件(pickedImage!.path)时,没有为‘Future’类型定义“getter‘path”。
发布于 2022-05-30 06:48:04
您也可以在本例中使用它:
class ImagePage extends StatefulWidget {
const ImagePage({Key? key}) : super(key: key);
@override
State<ImagePage> createState() => _ImagePageState();
}
class _ImagePageState extends State<ImagePage> {
Image image = Image.asset('images/img.png', height: 100,);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: image,
color: Colors.blue,
),
floatingActionButton: FloatingActionButton(
onPressed: () async {
final ImagePicker _picker = ImagePicker();
final _image = await _picker.pickImage(
source: ImageSource.gallery, imageQuality: 50);
image = Image.file(File(_image.path));
setState(() {});
},https://stackoverflow.com/questions/72429951
复制相似问题