Con il rilascio di Windows Phone 8 tra le numerose novità del sistema operativo, troviamo anche il supporto a device con risoluzioni differenti dalla canonica risoluzione di 480 x 800 (WVGA). Sul mercato è possibile trovare anche device con risoluzioni di: 768x1280 (WXGA) e 720 x 1280 (720p).
Per le vecchie applicazioni, sviluppate per Windows Phone 7.x, il passaggio a risoluzioni superiori è pressoché indolore: il sistema operativo si occupa di effettuare lo scaling e, se necessario, aggiungere una sottile banda nera nel caso della risoluzione di 720p, il cui rapporto non è 15:5 ma 16:9.
Per le applicazioni studiate espressamente per supportare il nuovo sistema operativo, al fine di ottimizzare al massimo l'esperienza dell'utente, può risultare estremamente importante conoscere la risoluzione del device in uso.
Naturalmente la prima cosa da fare nelle nostre applicazioni è non cablare mai le dimensioni e i margini dei controlli direttamente nel codice. Inoltre, nel caso volessimo modificare programmaticamente la disposizione o la visualizzazione di alcuni elementi dell'UI, possiamo utilizzare il codice seguente:
switch (App.Current.Host.Content.ScaleFactor) { case 100: System.Diagnostics.Debug.WriteLine("IsWvga"); break; case 160: System.Diagnostics.Debug.WriteLine("IsWxga"); break; case 150: System.Diagnostics.Debug.WriteLine("Is720p"); break; }
È possibile incapsulale il codice precedente in una classe helper, così da poterlo utilizzare ove necessario e adattare l'UI in maniera semplice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare una container image come runner di GitHub Actions
Gestire i null nelle reactive form tipizzate di Angular
Effettuare il binding di date in Blazor
Gestire la cancellazione di una richiesta in streaming da Blazor
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Utilizzare i primary constructor di C# per inizializzare le proprietà
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Come migrare da una form non tipizzata a una form tipizzata in Angular
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Usare un KeyedService di default in ASP.NET Core 8