На самом деле, как ответ, прежде чем начинать с уровня API 18, вы можете отменить уведомления, опубликованные другими приложениями, чем ваши собственные, используя NotificationListenerService, но этот подход больше не будет работать на Lollipop, вот способ удалить уведомления, охватывающие также Lillipop API.
if (Build.VERSION.SDK_INT < 21) {
cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId());
}
else {
cancelNotification(sbn.getKey());
}
Удерживайте значение, которое вы хотите изменить в 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),