如題,父視圖是一個(gè)滾動視圖,例如ListView、SingleScrollView等。子視圖是GestureDetector(child: xxx)
當(dāng)在GestureDetector中監(jiān)聽滑動時(shí),例如onHorizontalDragStart、onVerticalDragStart、onPanStart,并不會手指一移動,就馬上走這些回調(diào)方法,而是都會移動一小段距離才會回調(diào),這明顯是有問題的。
以上問題,即使把父視圖的滾動設(shè)置為不可滾動,還是沒什么變化;如果把可滾動的父視圖去掉,就不會有問題,手指一滾動就會馬上回調(diào),這是為什么,求解啊...
以下是全部代碼:
@override
? Widget build(BuildContext context) {
? ? return Scaffold(
? ? ? body: SingleChildScrollView(
? ? ? ? ? child: SizedBox(
? ? ? ? ? ? width: double.infinity,
? ? ? ? ? ? height: 1500,
? ? ? ? ? ? child: Column(
? ? ? ? ? ? ? children: [
? ? ? ? ? ? ? ? Container(
? ? ? ? ? ? ? ? ? width: double.infinity,
? ? ? ? ? ? ? ? ? height: 300,
? ? ? ? ? ? ? ? ? color: Colors.red,
? ? ? ? ? ? ? ? ),
? ? ? ? ? ? ? ? Container(
? ? ? ? ? ? ? ? ? width: double.infinity,
? ? ? ? ? ? ? ? ? height: 500,
? ? ? ? ? ? ? ? ? color: Colors.green,
? ? ? ? ? ? ? ? ? child: GestureDetector(
? ? ? ? ? ? ? ? ? ? onPanStart: (details) {
? ? ? ? ? ? ? ? ? ? ? print('開始滑動...');
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ??onPanUpdate: (details) {? ? ? ? ? ? ? ? ? ? ?
?????????????????????????print('滾動中...');? ? ? ? ? ? ? ? ? ?
?????????????????????},
? ? ? ? ? ? ? ? ? ? onPanEnd: (details) {
? ? ? ? ? ? ? ? ? ? ? print('滑動結(jié)束...');
? ? ? ? ? ? ? ? ? ? },
????????????????????onPanDown: (details) {
? ? ? ? ? ? ? ? ? ? ? print('開始觸碰...');
? ? ? ? ? ? ? ? ? ? ?},
????????????????????onPanCancel: () {? ? ? ? ? ? ? ? ? ? ?
?????????????????????????print('結(jié)束觸摸...');? ? ? ? ? ? ? ??
? ????????????????? },? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? child: CustomPaint(
? ? ? ? ? ? ? ? ? ? ? size: Size.infinite,
? ? ? ? ? ? ? ? ? ? ? painter: DrawingPainter(
? ? ? ? ? ? ? ? ? ? ? ? pointsList: points,
? ? ? ? ? ? ? ? ? ? ? ),
? ? ? ? ? ? ? ? ? ? ),
? ? ? ? ? ? ? ? ? ),
? ? ? ? ? ? ? ? ),
? ? ? ? ? ? ? ],
? ? ? ? ? ? ),
? ? ? ? ? ),
? ? ? ? ),
? ? );
? }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。