mirror of
https://bitbucket.org/myhomie/myhomie_app.git
synced 2025-12-06 17:11:19 +00:00
50 lines
1.3 KiB
Dart
50 lines
1.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'dart:async';
|
|
|
|
class ImageStreamWidget extends StatefulWidget {
|
|
final String initialImageUrl;
|
|
|
|
ImageStreamWidget({required this.initialImageUrl});
|
|
|
|
@override
|
|
_ImageStreamWidgetState createState() => _ImageStreamWidgetState();
|
|
}
|
|
|
|
class _ImageStreamWidgetState extends State<ImageStreamWidget> {
|
|
late String currentImageUrl;
|
|
late Timer _timer;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
currentImageUrl = widget.initialImageUrl;
|
|
|
|
// Créez un Timer pour mettre à jour l'image toutes les secondes
|
|
_timer = Timer.periodic(Duration(seconds: 1), (timer) {
|
|
updateImageUrl();
|
|
});
|
|
}
|
|
|
|
void updateImageUrl() {
|
|
// Changez l'URL de l'image ici à chaque itération du timer
|
|
// Par exemple, ajoutez un timestamp pour forcer le rafraîchissement
|
|
final timestamp = DateTime.now().millisecondsSinceEpoch;
|
|
setState(() {
|
|
currentImageUrl = widget.initialImageUrl + '?timestamp=$timestamp';
|
|
});
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
super.dispose();
|
|
// Arrêtez le timer lorsque le widget est supprimé
|
|
_timer.cancel();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
// Affichez l'image à partir de l'URL actuelle
|
|
return Image.network(currentImageUrl);
|
|
}
|
|
}
|