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),
],
);
Приведенный выше код взят с сайта флаттера.
Я хочу изменить цвет фона виджета с помощью анимации (изображения). Но после первой вкладки я не хочу снова выполнять функцию касания.
Я попытался переместить _buildDecoratedImage
к состоянию с виджетом, и я могу анимировать конкретный виджет и отключить нажатие только на этот виджет. Я не могу отключить нажатие на другие три изображения (виджеты).
, хотя я могу анимировать фон, не перемещая _buildDecoratedImage
в StatefulWidget и отключить нажатие всех виджетов. Но весь экран перестраивается.
Есть ли способ достичь этого без использования потоков?
Одно изображение должно быть повернуто и анимировать фон, и после этого каждое изображение не должно быть нажато.
Пожалуйста, предложите лучшее решение для этого.