flutter创建可移动的stack小部件
import 'package:flutter/material.dart';
class MoveableStack extends StatefulWidget {
@override
_MoveableStackState createState() => _MoveableStackState();
}
class _MoveableStackState extends State<MoveableStack> {
Offset _offset = Offset(0, 0);
void _updatePosition(Offset offset) {
setState(() {
_offset += offset;
});
}
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
Positioned(
left: _offset.dx,
top: _offset.dy,
child: GestureDetector(
onPanUpdate: (PanUpdateDetails details) => _updatePosition(details.globalPosition),
child: Container(
color: Colors.blue,
width: 100,
height: 100,
),
),
),
],
);
}
}
这段代码定义了一个名为MoveableStack
的可移动的Stack
小部件。它使用GestureDetector
来监听用户的拖拽动作,并在用户移动时更新位置信息。这个例子展示了如何在Flutter中处理用户输入,并根据用户的操作动态更新UI。
评论已关闭