Как изменить цвет значка на кране и когда отпущен цвет должен go вернуться к цвету по умолчанию - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть сценарий, когда при нажатии кнопки цвет кнопки должен измениться, а затем, когда я отпущу нажатие, цвет должен измениться на цвет по умолчанию.

Для этого я использую виджет GestureDetector. Может ли кто-нибудь мне помочь?

bool color = false;

GestureDetector(
   onTap: () {
       setState(() {
          if (age > 3) {
              color = true;
               age--;
          } 
          color = false;
       });
   },
   child: Icon(
       Icons.indeterminate_check_box,
       color: color
         ? kSelectedIconColor
         : kAppbarColor,
       size: 40.0,
   )
)

1 Ответ

1 голос
/ 25 апреля 2020
class TapIcon extends StatefulWidget {
  @override
  _TapIconState createState() => _TapIconState();
}

class _TapIconState extends State<TapIcon> {
  bool tapped = false;

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTapDown: (_) {
        setState(() {
          tapped = true;
        });
      },
      onTapUp: (_) {
        setState(() {
          tapped = false;
        });
      },
      child: Icon(
        Icons.indeterminate_check_box,
        color: tapped
            ? kSelectedIconColor
            : kAppbarColor,
        size: 40.0,
      ),
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...