by Guest » 07 Jan 2025, 04:10
Ich habe ein Widget mit Schwenkgeste in PageView und der PageView kann horizontal scrollen. Wenn ich das Widget horizontal schwenke, wird sich der PageView bewegen.
Was ich erwarte, ist dass die Schwenkgeste das Widget im Seitenaufruf bewegen kann, anstatt den Seitenaufruf zu verschieben
Hier ist das Bild.
Hier ist der Democode"
Code: Select all
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView.builder(
itemBuilder: (ctx, index) {
return ChildPage(
index: index,
);
},
itemCount: 2,
),
);
}
}
class ChildPage extends StatefulWidget {
final int index;
const ChildPage({Key? key, required this.index}) : super(key: key);
@override
_ChildPageState createState() => _ChildPageState();
}
class _ChildPageState extends State {
Offset offset = Offset.zero;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
alignment: Alignment.center,
children: [
Positioned(
top: offset.dy,
left: offset.dx,
child: GestureDetector(
onPanUpdate: (details) {
print("hh");
offset = offset.translate(details.delta.dx, details.delta.dy);
setState(() {});
},
child: Container(
color: Colors.yellow,
width: 100,
height: 100,
),
))
],
),
);
}
}
Ich habe ein Widget mit Schwenkgeste in PageView und der PageView kann horizontal scrollen. Wenn ich das Widget horizontal schwenke, wird sich der PageView bewegen.
[b]Was ich erwarte, ist dass die Schwenkgeste das Widget im Seitenaufruf bewegen kann, anstatt den Seitenaufruf zu verschieben[/b]
Hier ist das Bild.
[img]https://i.sstatic.net/1wNUi.jpg[/img]
Hier ist der Democode"
[code]import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView.builder(
itemBuilder: (ctx, index) {
return ChildPage(
index: index,
);
},
itemCount: 2,
),
);
}
}
class ChildPage extends StatefulWidget {
final int index;
const ChildPage({Key? key, required this.index}) : super(key: key);
@override
_ChildPageState createState() => _ChildPageState();
}
class _ChildPageState extends State {
Offset offset = Offset.zero;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
alignment: Alignment.center,
children: [
Positioned(
top: offset.dy,
left: offset.dx,
child: GestureDetector(
onPanUpdate: (details) {
print("hh");
offset = offset.translate(details.delta.dx, details.delta.dy);
setState(() {});
},
child: Container(
color: Colors.yellow,
width: 100,
height: 100,
),
))
],
),
);
}
}
[/code]