如何解决手动设置偏移位置时可拖动项目消失
我正在尝试在图像上实现可拖动,这将使其可以在屏幕上自由拖动。我遇到的问题是,如果我不设置初始偏移坐标,它会使图像出现并且可以在屏幕上拖动,但在拖动结束后返回到原始位置。但是如果我设置偏移值,它会使图像从屏幕上消失。代码如下:
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 举报,一经查实,本站将立刻删除。