- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个 ListView ,它是动态构建的卡片列表。在卡片的一部分中,我放了一列并放了一个向下箭头按钮/图标。单击我想在扩展磁贴中打开更多详细信息。所以我为它创建了一个小部件功能。我注意到正在调用该函数,因为我在其中放置了打印件,但扩展磁贴并未在卡片正下方构建。
第一部分在这里构建我的动态卡片。
itemBuilder: (BuildContext ctxt, int index) {
return new Container(
margin: new EdgeInsets.fromLTRB(0, 10, 20, 0),
decoration: new BoxDecoration(
//color:Color.fromRGBO(255, 255,255, 1),
borderRadius: new BorderRadius.only(
topRight: const Radius.circular(35),
bottomRight: const Radius.circular(35)
),
),
width: double.infinity,
height: 55,
child:Card(
elevation: 5,
//color: Color.fromRGBO(255, 255, 255, 1),
clipBehavior: Clip.antiAlias,
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.only(
topRight: const Radius.circular(35),
bottomRight: const Radius.circular(35)
),
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
width: 90,
child:
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
//new Row(
// mainAxisSize: MainAxisSize.max,
//children: <Widget>[
new Text(
"200", style: TextStyle(color:Colors.blue),
),
new Text(
"mmm", style: TextStyle(color:Colors.black),
),
// new Icon(Icons.account_circle)
//style: Theme.of(context).textTheme.body2
],
),
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
GestureDetector(
onTap: () {
print("Calling expansion tile");
expansionList(context,index);
},
child: Icon(Icons.arrow_drop_down),
)
]
)
//style: Theme.of(context).textTheme.body2
],
),
)
]
)
)
);
}
因此在 tap 函数上我称这个函数为 expansionList(context,index);我在下面显示了该功能的详细信息。但是磁贴没有打开。如何使磁贴在点击时动态打开。
Widget expansionList(BuildContext context, int index) {
print("In expansion tile");
return new ExpansionTile(
title: Text(
"TEST",
style: TextStyle(fontSize: 28.0),
),
children: <Widget>[
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
//new Row(
// mainAxisSize: MainAxisSize.max,
//children: <Widget>[
new Text(
"200", style: TextStyle(color:Colors.blue),
),
new Text(
"mmm", style: TextStyle(color:Colors.black),
),
// new Icon(Icons.account_circle)
//style: Theme.of(context).textTheme.body2
],
),
]
);
}
最佳答案
您现在要做的是 - 每次点击您:
ExpansionTile
小部件的函数。但是您对返回值什么也不做,它甚至没有机会进入您的小部件树,它只是简单地构建而没有对其进行任何操作。
ExpansionTile
是一个小部件,包括:
3 个插槽,每个插槽可以容纳 Widget(或树):
leading
- 通常你在这里放置头像/图标/复选框title
- tile 的主要内容trailing
- tile 的末尾,下拉箭头的最佳位置(默认包含在 ExpansionTile 中)和一个 children
数组 - 展开时显示的内容;
代码:
@override
Widget build(BuildContext context) {
return Container(
child: ListView.builder(itemBuilder: (BuildContext ctxt, int index) {
return new Container(
margin: new EdgeInsets.fromLTRB(0, 10, 20, 0),
decoration: new BoxDecoration(
//color:Color.fromRGBO(255, 255,255, 1),
borderRadius: new BorderRadius.only(
topRight: const Radius.circular(35),
bottomRight: const Radius.circular(35)),
),
width: double.infinity,
// height: 55,
child: Card(
elevation: 5,
clipBehavior: Clip.antiAlias,
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.only(
topRight: const Radius.circular(35),
bottomRight: const Radius.circular(35)),
),
child: expansionList(ctxt, index),
),
);
}),
);
}
如果您想自定义箭头,请将您想要的任何内容放在 leading
和 title
的折叠图 block 上 - 使用自定义 trailing
。
Widget expansionList(BuildContext context, int index) {
print("Building expansion tile");
return new ExpansionTile(
initiallyExpanded: false,
leading: Icon(Icons.all_inclusive),
title: Column(
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text('Content'),
RaisedButton(
child: Text('Button'),
onPressed: () {},
),
Text('Row 1'),
],
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text('Content row 2'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Text('Content row 3')
],
)
],
),
children: <Widget>[
Image.network(
"https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png",
height: 55,
),
],
);
}
PS 熟悉代码格式化热键组合,并始终在末尾加上逗号 - 代码自动格式化会更好
关于点击时不会从卡片 ListView 中打开 Flutter Expansion Tile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55064341/
这是引用 Google Tile Map 或 Bing Maps。是否可以在不使用任何类型的内部计算指定缩放级别(或 LevelOfDetails)的情况下获得 Tile Count、Tile X、T
我有一个 Tiles 模板,其中每个页面都提供一个标题,一些要添加到 中的内容,要放入一些混凝土的东西 ,以及附加到 的内容在一切之后。 大部分内容都非常小,因为页面是用 JS 呈现的。 我怎样才
我正在使用 Apache Tiles 2.1 开展一个项目。 我遇到了一个问题,即使用列表属性扩展模板会创建这些列表项的重复项...每个继承级别都有一组重复项。 作为示例,以下是基本定义及其将生成的页
我在 HTML 的背景层中有一个重复的水平图案。我可以使用 1 像素宽的图像或它的倍数(10、20、50...)来实现。 问题是: 哪个更好? 使用薄(小文件大小)图像并使其重复很多 使用更大的图片,
我们正在使用 Apache Tiles 3.0。 在我们的 Apache Tiles-Def 文件中,我们偶尔会遇到此 DTD 引用的问题,这可能是因为该站点不可靠。偶尔会出现“Reading Def
我在我的网络应用程序中使用 Tiles。我在瓷砖中使用了标准布局 (standard.jsp)。在 standard.jsp 之上有很多包含,涉及标签库等。 让我们做一个简化的例子。 标准.jsp:
我正在制作一个基于 2d tile 的游戏,我试图通过对 tile 结构中的值使用位字段和字节来保持我的 tile 结构小: struct Tile { // 3 bytes (24 bits
我已经在 Tiled 中制作了一张 map ,并且已经生成了一个 JSON。每当我尝试在 Chrome 中加载 map 时,它根本无法加载。当我去检查网站时,有类似警告: 在来自 Tiled 的 Js
我使用 struts 2.3.16 和 tiles 2.0.6。 具有空属性(以及其他属性)的图 block 定义: 一些其他定义扩展了它,他们可以选择填入值: 或者也留空。 我试图通过使用 st
我想在Struts2框架中使用tile。作为用于显示图 block 内容的标签,tiles:insert 和tiles:get 之间的基本区别是什么? 最佳答案 is equivalent to
我正在从 Strut1 + Tiles 项目迁移到 SpringMVC 和 Apache Tiles 3。我对Struts1+Tiles只了解一点点,它太旧了,我陷入了Struts-tiles中的Co
我正在使用Tiles,Spring和Hibernate创建一个应用程序。 在运行时,它显示以下错误: Can not find the tag library descriptor for "http
目前我在计划任务的帮助下实现了我的翻转图块,因此类似方法的一个问题是翻转图块将在时间间隔内翻转相同的图像。所以我想要实现的是我需要像循环瓷砖一样翻转我的图像。即一个接一个的方式。这里要注意的一件事是我
我正在使用 v0.6.2 和 Cocos2D v0.99.5,现在我真的非常需要为我的一些图 block 制作动画。我读了part of a wiki关于如何为图 block 制作动画,但它似乎与 M
我有一个图 block ,其中列出了提供给它的对象中的文章。此图 block 是大多数页面的一部分,但不是全部页面。有没有什么方法可以自动仅向需要它的页面提供对象(包含特定图 block )?现在我只
我正在寻找一种解决方案,以根据游戏 block 的类型对我的游戏 block 进行分组。瓷砖存储在二维数组中,类型为空和水,分组的瓷砖将存储在组类中。 所以如果我有二维数组: 0, 0, 0, 0,
我在今天的 maven 构建过程中遇到以下错误。 Unable to resolve artifact: Unable to get dependency information: Unable to
我正在尝试让 Apache Tiles' put-list-attribute 与 Thymeleaf 一起工作。 这是我尝试过的: 来自 Tiles 配置: 来自 thymlea
我在 UI 的 mat-grid-list 中动态显示 mat-grid-tile,其数量和数据随着后端值的变化而变化。它们是动态生成的。单击任何 mat-grid-tile 都会调用一个函数并将数据
我制作了一个 Tiled 游戏。现在,我正在通过增加场景中的节点数量来对手机的功能进行压力测试。有基于物理的东西,AI 运动,日夜系统,粒子在这里和那里突然出现以及我的场景的引擎盖下发生的许多其他事情
我是一名优秀的程序员,十分优秀!