我是一个新手扑动开发
我需要一些关于2D滚动的指导,在那里我可以把小部件放在身体和滚动2D(垂直,水平和对角滚动)
我不需要实际的代码,而是需要关于我应该使用哪些部件或逻辑的指导。
figma具有2d滚动,这正是我想要的。
我很抱歉,我没有任何初始代码提供,因为我不知道从哪里开始。
InteractiveViewer
可能就是您需要的:
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('InteractiveViewer')),
body: const MyStatelessWidget(),
),
);
}
}
class MyStatelessWidget extends StatelessWidget {
const MyStatelessWidget({super.key});
@override
Widget build(BuildContext context) {
return Center(
child: InteractiveViewer(
boundaryMargin: const EdgeInsets.all(200),
constrained: false,
minScale: 0.1,
maxScale: 2,
child: Column(
children: List.generate(100, (i) {
return Row(
children: List.generate(100, (j) {
return Container(
width: 100,
height: 50,
decoration: BoxDecoration(border: Border.all()),
child: Text('$i:$j'),
);
}),
);
}),
),
),
);
}
}
你可以使用SingleChildScrollView或listView作为静态小部件。
如果你有动态小部件,你可以使用ListView.builder