首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExpansionTile和ListTile

ExpansionTile和ListTile
EN

Stack Overflow用户
提问于 2022-11-26 10:49:01
回答 1查看 38关注 0票数 0

嗨,这个代码示例的扩展瓷砖列表:

我的列表来自于api,每个ExpansionTile都包含一些ListTile,如何实现像ExpansionTile这样的ListTile?

使用列表视图显示ListTile中的所有项目。

代码语言:javascript
复制
import 'package:flutter/material.dart';
import 'package:flutter_expansion_tile_demo/Constants/Constants.dart';
import 'package:flutter_expansion_tile_demo/model/month_model.dart';

class ExpansionTileDemo extends StatefulWidget {
  @override
  _ExpansionTileDemoState createState() => _ExpansionTileDemoState();
}

class _ExpansionTileDemoState extends State<ExpansionTileDemo> {
  List<MonthModel> monthModel;

  @override
  void initState() {
    monthModel = Constants.getMonthModel();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text('Expansion Tile Demo'),
      ),
      body: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 0.0),
        child: ListView.builder(
          scrollDirection: Axis.vertical,
          shrinkWrap: true,
          physics: BouncingScrollPhysics(),
          itemCount: monthModel.length,
          itemBuilder: (BuildContext context, int index) {
            return _buildPlayerModelList(monthModel[index]);
          },
        ),
      ),
    );
  }

  Widget _buildPlayerModelList(MonthModel items) {
    return Card(
      child: ExpansionTile(
        title: Text(
          items.playerName,
          style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w500),
        ),
        children: <Widget>[
          ListTile(
            title: Text(
              items.description,
              style: TextStyle(fontWeight: FontWeight.w700),
            ),
          )
        ],
      ),
    );
  }
}

这个图像输出代码,但我想要更多的ListTile?我该怎么做呢?

谢谢你对我的照顾

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-26 11:11:28

首先,您需要更改MonthModel类并将description设置为字符串列表,然后将_buildPlayerModelList更改为:

代码语言:javascript
复制
Widget _buildPlayerModelList(MonthModel items) {
    return Card(
      child: ExpansionTile(
        title: Text(
          items.playerName,
          style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w500),
        ),
        children: List<Widget>.generate(
            items.descriptions.length,
            (index) => ListTile(
                  title: Text(
                    items.descriptions[index],
                    style: TextStyle(fontWeight: FontWeight.w700),
                  ),
                )),
      ),
    );
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74581512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档