gpt4 book ai didi

dart - ListWheelScrollView 子项无法识别 onTap()

转载 作者:行者123 更新时间:2023-12-03 13:28:48 28 4
gpt4 key购买 nike

ListWheelScrollView 的子级无法识别点击。如何让 ListWheelScrollView 的 child 识别水龙头?我认为在 children 面前有某种可滚动的小部件阻止 children 被点击。如果我将此代码放在 ListView 中,一切正常,但不适用于 listWheelScrollView

这是我的代码

import 'package:flutter/material.dart';

void main() {
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(
'List Wheel',
),
),
body: myListWheel,
),
),
);
}

Widget myListWheel = ListWheelScrollView (
itemExtent: 100,
children: <Widget>[
ListTile(
enabled: true,
onTap: () {
print('Hello, World');
},
title: Text(
'First',
),
subtitle: Text(
'this is subtitle'
),
),
ListTile(
enabled: true,
onTap: () {
print('Hello, World');
},
title: Text(
'Second',
),
subtitle: Text(
'this is a subtitle'
),
),
],
);

最佳答案

上个月,Michael Lang (Cilestal)发表了新的clickable_list_wheel_widget package .
行为:

  • 当你点击所选项目 , onItemTapCallbackClickableListWheelScrollView 上调用
  • 当你单击另一个项目 , onItemTapCallbackClickableListWheelScrollView 上调用,紧接着调用onSelectedItemChangedListWheelScrollView
  • import 'package:flutter/material.dart';
    import 'package:clickable_list_wheel_view/clickable_list_wheel_widget.dart';

    void main() {
    runApp(
    MaterialApp(
    home: Scaffold(
    appBar: AppBar(
    title: Text(
    'List Wheel',
    ),
    ),
    body: MyListWheel(),
    ),
    ),
    );
    }

    class MyListWheel extends StatelessWidget {
    final _scrollController = FixedExtentScrollController();
    final double _itemHeight = 100.0;
    final data = List.generate(20, (index) => 'Item $index');

    @override
    Widget build(BuildContext context) {
    return ClickableListWheelScrollView(
    scrollController: _scrollController,
    itemHeight: _itemHeight,
    itemCount: data.length,
    onItemTapCallback: (index) {
    print("onItemTapCallback index: $index");
    },
    child: ListWheelScrollView.useDelegate(
    controller: _scrollController,
    itemExtent: _itemHeight,
    physics: FixedExtentScrollPhysics(),
    overAndUnderCenterOpacity: 0.5,
    perspective: 0.002,
    onSelectedItemChanged: (index) {
    print("onSelectedItemChanged index: $index");
    },
    childDelegate: ListWheelChildBuilderDelegate(
    builder: (context, index) => ListTile(title: Text(data[index])),
    childCount: data.length,
    ),
    ),
    );
    }
    }

    关于dart - ListWheelScrollView 子项无法识别 onTap(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54890731/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com