水平列表视图不在网络上滚动但在移动设备上滚动
Horizontal listview not scrolling on web but scrolling on mobile
flutter 2.5 更新之后,listview 只能在移动平台上滚动。当我在网络上打开它时,它不会滚动。它在以前的版本中运行良好。我尝试了卷轴物理但它没有用。你建议我做什么?抱歉我的英语不好。
return SizedBox(
height: 400,
child: ListView.builder(
physics: ClampingScrollPhysics(),
scrollDirection: Axis.horizontal,
// ignore: unnecessary_null_comparison
itemCount: items == null ? 0 : items.length,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
LoginForm();
},
child: Container(
margin:
EdgeInsets.symmetric(horizontal: 20, vertical: 6),
child: SizedBox(
width: 400,
height: 50,
child: Stack(
fit: StackFit.expand,
children: <Widget>[
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(20.0)),
boxShadow: [
BoxShadow(
color: fromCssColor(
items[index].color.toString()),
// color: Colors.black38,
offset: Offset(2.0, 2.0),
blurRadius: 5.0,
spreadRadius: 1.0)
]),
),
ClipRRect(
borderRadius:
BorderRadius.all(Radius.circular(20.0)),
child: Image.asset(
items[index].image.toString(),
fit: BoxFit.cover,
),
),
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(20.0)),
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Colors.transparent,
Colors.black45
]))
),
],
),
),
Flutter 2.5 总结
ScrollBehaviors
now allow or disallow drag scrolling from specified
PointerDeviceKinds
. ScrollBehavior.dragDevices
, by default, allows
scrolling widgets to be dragged by all PointerDeviceKinds
except for
PointerDeviceKind.mouse
.
import 'package:flutter/material.dart';
// Set ScrollBehavior for an entire application.
MaterialApp(
scrollBehavior: MyCustomScrollBehavior(),
// ...
);
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
class MyCustomScrollBehavior extends MaterialScrollBehavior {
// Override behavior methods and getters like dragDevices
@override
Set<PointerDeviceKind> get dragDevices => {
PointerDeviceKind.touch,
PointerDeviceKind.mouse,
};
}
flutter 2.5 更新之后,listview 只能在移动平台上滚动。当我在网络上打开它时,它不会滚动。它在以前的版本中运行良好。我尝试了卷轴物理但它没有用。你建议我做什么?抱歉我的英语不好。
return SizedBox(
height: 400,
child: ListView.builder(
physics: ClampingScrollPhysics(),
scrollDirection: Axis.horizontal,
// ignore: unnecessary_null_comparison
itemCount: items == null ? 0 : items.length,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
LoginForm();
},
child: Container(
margin:
EdgeInsets.symmetric(horizontal: 20, vertical: 6),
child: SizedBox(
width: 400,
height: 50,
child: Stack(
fit: StackFit.expand,
children: <Widget>[
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(20.0)),
boxShadow: [
BoxShadow(
color: fromCssColor(
items[index].color.toString()),
// color: Colors.black38,
offset: Offset(2.0, 2.0),
blurRadius: 5.0,
spreadRadius: 1.0)
]),
),
ClipRRect(
borderRadius:
BorderRadius.all(Radius.circular(20.0)),
child: Image.asset(
items[index].image.toString(),
fit: BoxFit.cover,
),
),
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(20.0)),
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Colors.transparent,
Colors.black45
]))
),
],
),
),
Flutter 2.5 总结
ScrollBehaviors
now allow or disallow drag scrolling from specifiedPointerDeviceKinds
.ScrollBehavior.dragDevices
, by default, allows scrolling widgets to be dragged by allPointerDeviceKinds
except forPointerDeviceKind.mouse
.
import 'package:flutter/material.dart';
// Set ScrollBehavior for an entire application.
MaterialApp(
scrollBehavior: MyCustomScrollBehavior(),
// ...
);
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
class MyCustomScrollBehavior extends MaterialScrollBehavior {
// Override behavior methods and getters like dragDevices
@override
Set<PointerDeviceKind> get dragDevices => {
PointerDeviceKind.touch,
PointerDeviceKind.mouse,
};
}