我有一个水平的 listview.builder 小部件,列表中的每个子项大约是总宽度的 90℅,我如何检测哪个小部件处于焦点。
这是我的小部件。
new ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: categories.length,
itemBuilder: (context, index) {
return new InkWell(
onTap: () {
Navigator
.of(context)
.push(new MaterialPageRoute(
builder: (_) => new StakePage(),
));
},
child: new Card(
child: new Container(
decoration: new BoxDecoration(
image: new DecorationImage(
fit: BoxFit.cover,
image: categories[index].cover,
colorFilter: new ColorFilter.mode(
Colors.black12,
BlendMode.screen),
),
),
constraints: new BoxConstraints(
maxWidth: 400.0,
maxHeight: 600.0),
height: size.height / 2,
width: size.width * 0.85,
),
),
);
}),
最佳答案
你可以用 visibility_detector
widget 包裹你的小部件,只要您的小部件在屏幕上可见,它就会触发回调。
关于listview - 在 flutter ListView 中检测焦点小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908588/