Widget _buildImageColumn() => Container(
decoration: BoxDecoration(
color: Colors.black26,
),
child: Column(
children: [
_buildImageRow(1),
_buildImageRow(3),
],
),
);
Widget _buildDecoratedImage(int imageIndex) => Expanded(
child: Container(
decoration: BoxDecoration(
border: Border.all(width: 10, color: Colors.black38),
borderRadius: const BorderRadius.all(const Radius.circular(8)),
),
margin: const EdgeInsets.all(4),
child: Image.asset('images/pic$imageIndex.jpg'),
),
);
Widget _buildImageRow(int imageIndex) => Row(
children: [
_buildDecoratedImage(imageIndex),
_buildDecoratedImage(imageIndex + 1),
],
);
以上代码取自flutter网站。
我想用一些动画(图像)更改小部件的背景颜色。但是在第一个选项卡之后,我不想再次执行点击功能。
我试图将_buildDecoratedImage
移至一个有状态的小部件,并且可以为特定的小部件设置动画,并仅禁用对该小部件的点击。我无法禁用对其他三个图像(窗口小部件)的点击。
尽管我可以设置背景动画,而无需将_buildDecoratedImage
移至有状态的小部件并禁用所有小部件的点击。但是整个屏幕都被重建了。
有没有不使用流的方法来实现这一目标? 必须点击其中一张图片并为背景设置动画,然后再点击每张图片。
请为此提出最佳解决方案。