Flutter-更改小部件的背景颜色

时间:2019-04-05 10:33:37

标签: flutter flutter-layout flutter-animation

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移至有状态的小部件并禁用所有小部件的点击。但是整个屏幕都被重建了。

有没有不使用流的方法来实现这一目标? 必须点击其中一张图片并为​​背景设置动画,然后再点击每张图片。

请为此提出最佳解决方案。

0 个答案:

没有答案