Con il rilascio di Xamarin.Forms 4.3, oltre ai numerosi nuovi componenti come CarouselView e CollectionView, abbiamo a disposizione, una nuova funzionalità che ci consentirà di mantenere un layout consistente e visivamente identico sia in Android che in iOS: il Visual.Material.
La possibilità di avere lo stesso tema per entrambe le piattaforme ci consente di velocizzare lo sviluppo, consentendoci di sviluppare utilizzando solo un'architettura ed effettuare controlli sul posizionamento dei componenti, verso l'altra piattaforma, molto più dilazionati nel tempo, avendo la quasi certezza che, nel peggior dei casi, si debbano fare solo piccoli aggiustamenti grafici.
Per attivare questa funzionalità, una volta installata la libreria nei progetti Android e iOS, procediamo ad informare sistema di questa opzione tematica.
In Android, procediamo all'interno della MainActivity e in particolare nel metodo OnCreate, a seguito dell'inizializzazione di Xamarin.Forms:
global::Xamarin.Forms.Forms.Init(this, savedInstanceState); // abilitazione Visual.Material global::Xamarin.Forms.FormsMaterial.Init(this, savedInstanceState); // caricamento applicazione LoadApplication(new App());
In iOS, invece, andremo a modificare la classe AppDelegate, facendo l'override del metodo FinishedLaunching:
global::Xamarin.Forms.Forms.Init(); // abilitazione Visual.Material global::Xamarin.Forms.FormsMaterial.Init(); // caricamento applicazione LoadApplication(new App());
Le piattaforme sono ora pronte a visualizzare gli elementi rispettando le stesse linee tematiche. Per attivare il nuovo layout occorrerà aggiungere l'attributo Visual="Material" ai componenti delle nostre view.
<!-- Material layout abilitato solo sul bottone --> <Button Text="Click Me!" Visual="Material"></Button> <!-- oppure... --> <ContentPage Visual="Material"> <!-- tutti i componenti avranno il layout Material --> </ContentPage>
L'opzione è disponibile su tutti i principali componenti come ActivityIndicator, Button, CheckBox, DatePicker, Entry ecc...
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Locust con Azure Load Testing
Eseguire i worklow di GitHub su runner potenziati
Anonimizzare i dati sensibili nei log di Azure Front Door
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Configurare lo startup di applicazioni server e client con .NET Aspire
Scrivere selettori CSS più semplici ed efficienti con :is()
Utilizzare gRPC su App Service di Azure
Creare una libreria CSS universale - Rotazione degli elementi
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Supportare la sessione affinity di Azure App Service con Application Gateway
Utilizzare WhenEach per processare i risultati di una lista di task
I più letti di oggi
- Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gli oggetti CallOut di Expression Blend 4.0
- .NET Core 3, C#8 and beyond
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!