【问题标题】:Scroll single ListTile in ListView在 ListView 中滚动单个 ListTile
【发布时间】:2021-02-21 14:57:35
【问题描述】:

在 ListView 中滚动单个 ListTile

class MainScreen extends MvcScreen<MainScreenController> {
  @override
  MainScreenController initController() => MainScreenController();

  @override
  Widget defaultScreenLayout(
      ScreenParameters screenParameters, MainScreenController controller) {
    return _tabsLayout;
  }

  Widget get _tabsLayout => DefaultTabController(
        length: 2,
        child: Scaffold(
          appBar: AppBar(
            title: Text(AppScaffold().title),
            actions: <Widget>[
              IconButton(icon: Icon(Icons.search), onPressed: () {}),
            ],
          ),
          drawer: TelegramDrawer(),
          floatingActionButton: FloatingActionButton(
            backgroundColor: Color(0xff65a9e0),
            child: Icon(Icons.create),
            onPressed: () {},
          ),
          body: _body,
        ),
      );

  Widget get _body => Column(
        mainAxisAlignment: MainAxisAlignment.start,
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: [
          Expanded(child: _chatsListView),
        ],
      ).paddingAll(0);

  Widget get _chatsListView => Container(
        child:
            ListView.builder(itemCount: 1, itemBuilder: channelListItemBuilder),
      );

  Widget channelListItemBuilder(context, int index) {
    return ListTile(
      leading: CircleAvatar(
        backgroundColor: Colors.blueGrey[200],
        foregroundColor: Colors.white,
        radius: 28,
        child: Icon(
          Icons.archive,
          size: 30,
        ),
      ),
      title: Text(
        "Archived Chats",
        style: TextStyle(fontSize: 17, fontWeight: FontWeight.w500),
      ),
    );
  }

【问题讨论】:

  • 你能解释一下你想要达到的目标吗
  • 我需要可滚动的 ListTile 甚至 ListView 为空

标签: flutter dart


【解决方案1】:

一旦您将 ListView 包装在列中,它就不允许您滚动视图。因此,我在这里更改了代码:

Widget get _body => Expanded(child:Column(
  mainAxisAlignment: MainAxisAlignment.start,
  crossAxisAlignment: CrossAxisAlignment.stretch,
  children: [
     Expanded(child: _chatsListView),
   ],
  ).paddingAll(0));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2017-10-18
    • 2021-11-28
    • 2012-05-29
    • 2021-06-16
    相关资源
    最近更新 更多