简体   繁体   English

在 ListView 中滚动单个 ListTile

[英]Scroll single ListTile in ListView

Scroll single ListTile in ListView It looks like your post is mostly code;在 ListView 中滚动单个 ListTile 看起来您的帖子主要是代码; please add some more details.请添加更多细节。 It looks like your post is mostly code;看起来您的帖子主要是代码; please add some more details.请添加更多细节。 It looks like your post is mostly code;看起来您的帖子主要是代码; please add some more details.请添加更多细节。

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),
      ),
    );
  }

To answer your question: once you wrap ListView in the column it does not allow you to scroll view.回答您的问题:一旦将 ListView 包装在列中,它就不允许您滚动视图。 Therefore here I've changed the code:因此,我在这里更改了代码:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM