问题描述
我正在尝试在图像上实现可拖动,这将使其可以在屏幕上自由拖动。我遇到的问题是,如果我不设置初始偏移坐标,它会使图像出现并且可以在屏幕上拖动,但在拖动结束后返回到原始位置。但是如果我设置偏移值,它会使图像从屏幕上消失。代码如下:
class PlayScreen extends StatefulWidget {
@override
_PlayScreenState createState() => _PlayScreenState();
}
class _PlayScreenState extends State<PlayScreen> {
@override
Widget build(BuildContext context) {
double _x = 163.0; //draggable coordinates
double _y = 197.0;
return Scaffold(
body: Stack(
children: <Widget>[
Container(
constraints: BoxConstraints.expand(),decoration: Boxdecoration(
image: decorationImage(
image: Assetimage('assets/images/shared/field.png'),fit: BoxFit.cover,),Row(
mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[
SizedBox(height: 20.0.h),Stack(
children: <Widget>[
Positioned(
left: _x,top: _y,child: Draggable(
child: Image.asset( //Draggable Image
'assets/images/playScreenImages/worker_with_paint.png',height: 30.0.h,width: 30.0.w,Feedback: Image.asset(
'assets/images/playScreenImages/worker_with_paint.png',childWhenDragging: Container(),onDragEnd: (dragDetails) {
setState(() {
_x = dragDetails.offset.dx;
_y = dragDetails.offset.dy;
print(_x);
print(_y);
});
},Container(
padding: EdgeInsets.only(left: 5.0.w),child: SvgPicture.asset(
'assets/images/playScreenImages/score.svg'),],SizedBox(height: 50.0.h),Container(
alignment: Alignment.center,child: new Image(
image: Assetimage(unfilledImages[imageCounter]),height: 40.0.h,width: 60.0.w,);
}
}
我想要实现的是将初始元素(图像)位置设置为 etc.(x,y) 坐标,并且拖动应该在屏幕周围自由拖动,其中元素位置根据用户的拖动而改变。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)