栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Flutter ListView Builder中删除或管理空间?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Flutter ListView Builder中删除或管理空间?

您由于 ListTile中的 自动填充而面临此问题。您可以使用 InkwellRow 来达到相同的效果。遵循代码可能会帮助您。

import 'package:flutter/material.dart';  void main() => runApp(new MyApp());  class MyApp extends StatelessWidget {    @override    Widget build(BuildContext context) {      return new MaterialApp(        title: 'Flutter Demo',        theme: new ThemeData(          primarySwatch: Colors.blue,        ),        home: new Scaffold(          appBar: new AppBar( title: new Text("check"),          ),          drawer: XmobeMenu(5),        ),      );    }  }  final List<MenuItem> menuItems = <MenuItem>[    MenuItem(0,'Home',Icons.home,Icons.chevron_right),    MenuItem(0,'Home',Icons.home,Icons.chevron_right),    MenuItem(0,'Home',Icons.home,Icons.chevron_right),    MenuItem(0,'Home',Icons.home,Icons.chevron_right),    MenuItem(0,'Home',Icons.home,Icons.chevron_right),    MenuItem(0,'Home',Icons.home,Icons.chevron_right),    MenuItem(0,'Home',Icons.home,Icons.chevron_right),  ];  class XmobeMenu extends StatelessWidget {    int indexNumber;    XmobeMenu(int menuIndex)    {      indexNumber =menuIndex;    }    @override    Widget build(BuildContext context) {      return Drawer(        child: ListView.builder(          itemBuilder: (BuildContext context, int index) { return MenuItemWidget(menuItems[index],indexNumber);          },          itemCount: menuItems.length,        ),      );    }  }  class MenuItem {    MenuItem(this.itemNumber,this.title, this.leadIcon, this.trailIcon,);    final int itemNumber;    final IconData leadIcon;    final IconData trailIcon;    final String title;  }  class MenuItemWidget extends StatelessWidget {    final MenuItem item;    final int indexNumber;    const MenuItemWidget(this.item, this.indexNumber);    Widget _buildMenu(MenuItem menuItem, context) {      return InkWell(          onTap: () { Navigator.of(context).push(   new MaterialPageRoute(     builder: (BuildContext context) => MyApp(),   ), );          },          child: new Container( color: const Color.fromARGB(0, 245,245,245), child: new Column(   children: <Widget>[     new Column( children: <Widget>[       Container(         padding: new EdgeInsets.all(8.0), // what ever padding you want add here         child: Row(children: <Widget>[  new Icon(menuItem.leadIcon),  new Expanded (    child: new Text(menuItem.title),  ),  new Icon(menuItem.trailIcon),],         )       ),       Divider(height: 1.0,color: Colors.grey,),     ],)   ], ),          ),        );    }    bool _checkEnabled(int itemNumber, int index)    {      if(itemNumber==index) {        return true;      }      else      {        return false;      }    }    @override    Widget build(BuildContext context) {      return _buildMenu(this.item, context);    }  }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418506.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号