Flutter 在ListView中滚动单个ListTile

Flutter 在ListView中滚动单个ListTile,flutter,dart,Flutter,Dart,在ListView中滚动单个ListTile 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息 class MainScreen extends MvcScreen<MainScreenController> { @override MainScreenController initController() => MainScreenController();

在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),
      ),
    );
  }
class主屏幕扩展了MvcScreen{
@凌驾
MainScreenController initController()=>MainScreenController();
@凌驾
窗口小部件默认屏幕布局(
屏幕参数(屏幕参数,主屏幕控制器){
返回禁忌;
}
小部件get _tabsLayout=>DefaultTabController(
长度:2,
孩子:脚手架(
appBar:appBar(
标题:文本(AppScaffold().title),
行动:[
图标按钮(图标:图标(Icons.search),按下:({}),
],
),
抽屉:电报抽屉(),
浮动操作按钮:浮动操作按钮(
背景颜色:颜色(0xff65a9e0),
子:图标(Icons.create),
按下:(){},
),
正文:_body,
),
);
小部件get\u body=>列(
mainAxisAlignment:mainAxisAlignment.start,
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
已展开(子项:_chatslist视图),
],
).paddingAll(0);
Widget get\u chatsListView=>容器(
儿童:
builder(itemCount:1,itemBuilder:channelListItemBuilder),
);
小部件channelListItemBuilder(上下文,int索引){
返回列表块(
领先:CircleAvatar(
背景颜色:颜色。蓝灰色[200],
前底色:颜色。白色,
半径:28,
子:图标(
Icons.archive,
尺码:30,
),
),
标题:正文(
“存档聊天”,
样式:TextStyle(fontSize:17,fontWeight:fontWeight.w500),
),
);
}

回答您的问题:在列中包装ListView后,它不允许您滚动视图。因此,我在这里更改了代码:

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

你能解释一下你想要实现什么吗?我需要可滚动的ListTile,即使ListView为空