HeaderViewModel¶
Il HeaderViewModel è un modello progettato per configurare le proprietà principali di un’intestazione
in un’interfaccia utente. Questo modello consente di personalizzare l’aspetto e il comportamento della sezione header, fornendo opzioni per configurazioni avanzate come contenuti sovrapposti e dettagli aggiuntivi nella parte inferiore.
La definizione del HeaderViewModel è riportata di seguito:
@freezed
class HeaderViewModel with _$HeaderViewModel {
factory HeaderViewModel({
final HeaderConfig? headerConfig,
final HeaderBottomConfig? bottomConfig,
final OverlayItemConfig? overlayConfig,
}) = _HeaderViewModel;
}
Proprietà:
headerConfig: configura l’immagine do sfondo e la back icon.
bottomConfig: definisce la parte relativa al bottom header.
overlayConfig: imposta l’aspetto e il contenuto dell’overlay.
Configurazioni di HeaderConfig¶
@freezed
class HeaderConfig with _$HeaderConfig {
factory HeaderConfig({
final String? imageUrl,
final AdamResource? topLeftIcon,
final Function(HeaderViewModel item)? onBackTap
}) = _HeaderConfig;
}
Proprietà:
imageUrl: URL dell’immagine di sfondo.
topLeftIcon: corrisponde alla back icon.
onBackTap: funzione di callback quando si interagisce con la back icon.
Configurazioni di HeaderBottomConfig¶
@freezed
class HeaderBottomConfig with _$HeaderBottomConfig {
factory HeaderBottomConfig({
final String? progressLabel,
final double? progressValue,
final Color? progressBackgroundColor,
final Color? progressColor,
}) = _HeaderBottomConfig;
}
Proprietà:
progressLabel: testo della label che descrive lo stato di avanzamento.
progressValue: valore del progress (da 0.0 a 1.0).
progressBackgroundColor: colore di sfondo della progress bar.
progressColor: colore della progress bar.