我正在为签名图像编写代码。但是当我使用包flutter_signature_pad并返回结果时,结果只是空白屏幕。
我曾尝试使用navigator.pop和Setinitstate这样的代码。
FirstScreen
_navigateAndDisplaySelection(BuildContext context) async {
final result = await Navigator.push(
context,
MaterialPageRoute(builder: (context) => SignApp()),
);
setState(() {
_imageFile = result;
});
}
Container(
width: double.infinity,
height: 150.0,
child: InkWell(
onTap: (){
_navigateAndDisplaySelection(context);
},
child: _imageFile == null ? Image.network(BaseURL.folderUpload + widget.model.image)
: Image.file(
_imageFile,
fit: BoxFit.fill,
),
),
),
当我致电nvaigator.pop时此代码
MaterialButton(
color: Colors.green,
onPressed: () async {
final sign = _sign.currentState;
//retrieve image data, do whatever you want with it (send to server, save locally...)
final image = await sign.getData();
var data = await image.toByteData(format: ui.ImageByteFormat.png);
sign.clear();
final encoded = base64.encode(data.buffer.asUint8List());
var data2 = data.buffer.asUint8List();
Navigator.pop(context, data2);
debugPrint("onPressed " + encoded);
},
child: Text("Save")),
我要在绘制签名后,将结果图像返回到firstscreen并声明为_imageFile。