gpt4 book ai didi

flutter - 如何在 `ListView`中编辑项目的高度?

转载 作者:行者123 更新时间:2023-12-03 04:35:18 24 4
gpt4 key购买 nike

官方文档已将height放入container,但是当我重复代码时。我发现无论是小小的大值(value)。我的物品的高度没有变化。这是我的代码

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:tweet_ui/embedded_tweet_view.dart';
import 'package:tweet_ui/models/api/tweet.dart';

class HerrListView extends StatefulWidget {
final List<Tweet> items;
final int extent;

HerrListView({Key key, @required this.items, this.extent}) : super(key: key);

@override
createState() => _ListViewState();
}

class _ListViewState extends State<HerrListView> {
String title = 'Long List';
String prevTitle = '';
List<Tweet> items;
double itemSize;

// List<String> duplicateItems;
TextEditingController textController;
ScrollController con;

@override
void initState() {
super.initState();
items = widget.items;
// duplicateItems = List.from(items);
textController = TextEditingController();
prevTitle = title;
con = ScrollController();
con.addListener(() {
if (con.offset >= con.position.maxScrollExtent &&
!con.position.outOfRange) {
setState(() {
title = "reached the bottom";
});
} else if (con.offset <= con.position.minScrollExtent &&
!con.position.outOfRange) {
setState(() {
title = "reached the top";
});
} else {
setState(() {
title = prevTitle;
});
}
});
}

@override
Widget build(BuildContext context) {
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: ListView.builder(
padding: const EdgeInsets.all(10),
controller: con,
itemExtent: widget.extent.toDouble(),
itemCount: items.length,
itemBuilder: (context, index) {
return Container(
height: 100,
color: Colors.amber[index * 100],
child: Text('Hi'),
);
// return Expanded(
// child: EmbeddedTweetView.fromTweet(widget.items[index]),
// );
// return Card(
// child: Padding(
// padding: const EdgeInsets.all(16.0),
// child: Text(
// '${items[index].text}',
// style: TextStyle(fontSize: 22.0),
// ),
// ),
// );
},
),
));
}

void dispose() {
// Don't forget to dispose the ScrollController.
con.dispose();
super.dispose();
}
}

尝试:
我曾尝试将 resizeToAvoidBottomPadding: false,放入 Scaffold中,但不起作用
问题:
如何编辑ListView项目的高度?
items in ListView

最佳答案

列表显示。 itemExtend 属性强制子级具有给定范围。
删除此行itemExtent: widget.extent.toDouble(),有关更多信息:https://api.flutter.dev/flutter/widgets/ListView/itemExtent.html

关于flutter - 如何在 `ListView`中编辑项目的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64209222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com