Как изменить значок IconButton из функции обратного вызова в флаттере

На самом деле, как ответ, прежде чем начинать с уровня API 18, вы можете отменить уведомления, опубликованные другими приложениями, чем ваши собственные, используя NotificationListenerService, но этот подход больше не будет работать на Lollipop, вот способ удалить уведомления, охватывающие также Lillipop API.

if (Build.VERSION.SDK_INT < 21) {
    cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId());
}
else {
    cancelNotification(sbn.getKey());
}
0
задан thachnb 21 February 2019 в 16:46
поделиться

1 ответ

Удерживайте значение, которое вы хотите изменить в State, и измените его с помощью setState.
То же самое, что и 1, встречается редко, поэтому используйте >=.

  IconData iconData = Icons.timer;

  void _onPressed(){
    new Timer.periodic(new Duration(milliseconds: 10), (timer) {
      setState((){
        if (_value >= 1){
          timer.cancel();
          _value = 0.0;
           iconData = Icons.timer_off;
          return;
        }
        _value += 0.01;
      });
    });
  }

И использовать значение.

new IconButton(icon:Icon(iconData), onPressed: _onPressed),
0
ответ дан ko2ic 21 February 2019 в 16:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: