我能够从 REST/JSON 填充 ListView 和 ExpansionTiles,这很好,但我希望扩展块最初不被填充,并且只能在单击时单独填充(可能使用 onExpansionChanged :)
我有以下内容,它几乎可以像我想要的那样工作,除了它填充 ListView,然后由于每个 ExpansionTile 内的 FutureBuilder,它立即(自动)填充扩展图块。
如何更改此设置,以便在单独单击/展开 ExpansionTiles 之前不会填充它们?
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'ExpansionTile Test',
home: new MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
Future<http.Response> _responseFuture;
@override
void initState() {
super.initState();
_responseFuture = …Run Code Online (Sandbox Code Playgroud) 颤振项目。我有一个底部导航栏,样式=固定。它有 4 个项目,并且工作正常。但是,我需要一种方法来取消选择此栏上的所有项目。似乎它必须始终选择 1 个项目,这通常是有道理的,但对于我的项目,在某些情况下我需要选择 0 个项目。
我可以通过将图标和文本的颜色更改为与非活动项目的颜色相同来伪造这一点,这看起来几乎是非活动的,除了图标和文本稍大一些,因为它仍然被选中。
有没有办法实际取消选择 bottomNavigationBar 中的所有项目,而不仅仅是试图使它们看起来未选择?