[英]Single Child Scroll View Doesn't work with Gesture Detector
我創建了一個SingleChildScrollView
。 手勢檢測器有一個父容器(紅色)和一個子容器(藍色)。 滾動視圖適用於父級,但不適用於子級。 我該怎么辦? 謝謝您的幫助。 這是代碼。
body: SingleChildScrollView(
child: Column(
children: [
Container(
color: Colors.redAccent[200],
height: 1000.0,
width: 500.0,
alignment: Alignment.center,
),
GestureDetector(
onVerticalDragUpdate: (DragUpdateDetails details) {
print("Start");
print(details.localPosition);
},
child: Container(
color: Colors.blueAccent[200],
height: 10000.0,
width: 500.0,
alignment: Alignment.center,
),
)
],
),
)
嘗試像這樣用 SingleChildScrollView 包裝 GestureDetector。
body: SingleChildScrollView(
child: Column(
children: [
Container(
color: Colors.redAccent[200],
height: 1000.0,
width: 500.0,
alignment: Alignment.center,
),
SingleChildScrollView(
child: GestureDetector(
onVerticalDragUpdate: (DragUpdateDetails details) {
print("Start");
print(details.localPosition);
},
child: Container(
color: Colors.blueAccent[200],
height: 10000.0,
width: 500.0,
alignment: Alignment.center,
),
),
),
],
),
);
onVerticalDragUpdate
正在阻止SingleChildScrollView
滾動,因為它只檢測垂直拖動更新,當您按住它拖動小部件時,它會忽略 ScrollView 並監聽小部件的可拖動更新。 運行下面的代碼。 它現在對我有用。
body: SingleChildScrollView(
child: Column(
children: [
Container(
color: Colors.redAccent[200],
height: 1000.0,
width: 500.0,
alignment: Alignment.center,
),
GestureDetector(
// onVerticalDragUpdate: (DragUpdateDetails details) {
// print("Start");
// print(details.localPosition);
// },
child: Container(
color: Colors.blueAccent[200],
height: 1000.0,
width: 500.0,
alignment: Alignment.center,
),
)
],
),
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.