我有一个页面,其中有一个带有刷新指示器的列表。当列表中有很多元素时(填充整个视图等等,即我可以滚动),刷新指示器就起作用了。但是,当我在列表中只有一两个元素(没有可滚动的内容)时,刷新指示器不起作用。这是预期的行为吗?有没有办法让指标也适用于短名单?
我尝试用滚动条包装列表视图(刷新指示器的子视图),但问题仍然存在。
Future<void> _onRefresh() async {
_getPeople();
}
@override
Widget build(BuildContext context) {
super.build(context);
return new Container(
child: _items.length == 0
? Center(child: CircularProgressIndicator())
: new RefreshIndicator(
onRefresh: _onRefresh,
child: Scrollbar(
child: new ListView.builder(
controller: controller,
itemBuilder: (context, index) {
return PeopleCard(
People: _items[index],
source: 2,
);
},
itemCount: _items.length,
),
)),
);
}
Run Code Online (Sandbox Code Playgroud)
如果项目列表的长度是 1 或 2 或任何不需要滚动的数量,刷新指示器也应该起作用。
这个答案有一些代码可以将语言环境转换为 Java 中的国家/地区表情符号。我尝试在 Dart 中实现它,但没有成功。
我尝试将上面的代码转换为 Dart
void _emoji() {
int flagOffset = 0x1F1E6;
int asciiOffset = 0x41;
String country = "US";
int firstChar = country.codeUnitAt(0) - asciiOffset + flagOffset;
int secondChar = country.codeUnitAt(1) - asciiOffset + flagOffset;
String emoji =
String.fromCharCode(firstChar) + String.fromCharCode(secondChar);
print(emoji);
}
Run Code Online (Sandbox Code Playgroud)
“US”区域设置应输出“”
有没有办法获得 CachedNetworkImage 的高度。我找到了这个解决方案来获取常规网络图像的高度。有没有办法为缓存的图像实现这个?