13 Adattamento Grafica a diversi Schermi

Volete creare un’applicazione che si possa usare in qualsiasi cellulare indipendentemente dalle dimensioni dello schermo?
Ecco qui tre semplici soluzioni che potrete adottare (partiremo dalla più semplice e banale fino ad arrivare alla più sofisticata):

1. Se avete una lista di oggetti (ad esempio una lista di button per il menù della vostra applicazione), o comunque non immagini che perdono di nitidità, potete risolvere il problema con una ScrollView. In questo modo, se ad esempio una lista di bottoni non sta tutta in uno schermo perché troppo piccolo, l’utente non dovrà fare altro che scorrere la lista per far apparire i bottoni che rimangono nascosti.

2. Se invece avete delle immagini che risultano troppo sgranate in alcuni schermi, risolvete il problema in un altro modo. Date alla stessa immagine diverse risoluzioni (ci sono mille programmi gratuiti su internet che lo fanno) mantenendo lo stesso nome e la inserite nelle apposite cartelle drawable-hdpi, drawable-mdpi ecc.. In questo modo verrà selezionata in automatico l’immagine da una di queste cartelle in base alle dimensioni dello schermo del dispositivo che sta usando l’applicazione. Per le dimensioni copio e incollo quelle presenti nella guida ufficiale di google:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

13.1

3. Infine se non avete immagini, o le avete ma volete comunque creare diffenti layout in base alle dimensioni dello schermo, create differenti cartelle layout (ad esempio: layout-large) sempre all’interno della cartella “res”. Adesso se create due layout xml aventi lo stesso nome e li salvate in entrambe le cartelle, quando andrete a chiamare questo file xml runtime da codice, verrà scelto il file di una determinata cartella in base alle caratteristiche dello schermo del dispositivo sul quale sta girando l’applicazione.
Anche in questo caso vi do i valori ufficili presi dalla guida di google:
layout-xlarge screens are at least 960dp x 720dp
layout-large screens are at least 640dp x 480dp
layout-normal screens are at least 470dp x 320dp
layout-small screens are at least 426dp x 320dp
Ovviamente i diversi layout avrannò caratteristiche grafiche tra loro differenti (ad esempio bottoni con larghezza e altezza cambiate a seconda dello schermo).

Scusatemi se alle volte sono banale ma voglio essere sicuro che mi capiate, e leggere esempi idioti spesso a me aiuta molto a capire.
Se non sono stato chiaro in qualcosa non esitate a chiedermi nei commenti.
Alla prossima!

Please follow and like us: