Flutter中带有粘性标题的可扩展ListView

问题描述

我从BooleanToVisibilityConverter获取了以下代码,但想看看是否有人可以帮助向该解决方添加其他功能。我希望可扩展列表在滚动浏览列表项时保持其标题(就在应用栏下方),当您到达列表末尾时,标题随即离开该页面,并且该列表项位于下方展开,则该列表项的标题将在屏幕顶部变为“粘性”。

import 'package:Flutter/material.dart';

void main() => runApp(
      MaterialApp(
        home: MyApp(),),);

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: vehicles.length,itemBuilder: (context,i) {
          return ExpansionTile(
            title: Text(
              vehicles[i].title,style: TextStyle(
                  fontSize: 20.0,fontWeight: FontWeight.bold,fontStyle: FontStyle.italic),children: <Widget>[
              Column(
                children: _buildExpandableContent(vehicles[i]),],);
        },);
  }

  _buildExpandableContent(Vehicle vehicle) {
    List<Widget> columnContent = [];

    for (String content in vehicle.contents)
      columnContent.add(
        ListTile(
          title: Text(
            content,style: TextStyle(fontSize: 18.0),leading: Icon(vehicle.icon),);

    return columnContent;
  }
}

class Vehicle {
  final String title;
  List<String> contents = [];
  final IconData icon;

  Vehicle(this.title,this.contents,this.icon);
}

List<Vehicle> vehicles = [
  Vehicle(
    'Bike',[
      'Vehicle no. 1','Vehicle no. 2','Vehicle no. 7','Vehicle no. 10','Vehicle no. 1',Icons.motorcycle,Vehicle(
    'Cars',[
      'Vehicle no. 3','Vehicle no. 4','Vehicle no. 6','Vehicle no. 3',Icons.directions_car,];

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...