myhomie_app/lib/Screens/Main/Security/streamWidget.dart
2023-08-31 16:55:21 +02:00

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);
}
}