Screen density del Kindle Fire e Galaxy Tab 7″

Android, supporto a schermi di diversa grandezza e Kindle Fire: le FAQ di Amazon la dicono giusta: il Kindle Fire viene rilevato dal meccanismo di identificazione delle risorse piu’ appropriate come un device “large” e “mdpi“, nonostante i suoi 1024×600 pixel di schermo e 160dpi di densita’. Probabilmente e’ stata fatta qualche customizzazione nel sistema operativo installato sul device, come riportato su StackOverflow.

Poco male, per fortuna basta aggiungere la il suffisso -large-mdpi-1024×600 nelle cartelle che conterranno i file di risorse specifici per il Fire, nel mio caso values-large-mdpi-1024×600 con dentro le dimensioni di alcuni immagini che erano troppo piccole viste sullo schermo del device. Per device normali sono di 80dp, per device xlarge sono di 120dp ed anche per il Fire le ho settate a 120dp, perche’ a 80dp si vedevano troppo piccole. Tutto molto bello e facile.

Kindle Fire, senza risorse specifiche (errato)

Kindle Fire, con le risorse specifiche (corretto)

Peccato poi aver ottenuto questo effetto sul Galaxy Tab 7″, che prima delle modifiche fatte avete la immagini della dimensione voluta (screenshot a sinistra), dopo aver aggiunto le risorse per il Kindle Fire le aveva visibilmente piu’ grandi, e inadatte (screenshot a destra):

Galaxy Tab 7", prima della modifica per il Kindle Fire (corretto)

Galaxy Tab 7", dopo la modifica per il Kindle Fire (errato)

 

Alla fine, ho scoperto che il Galaxy Tab 7″ viene riconosciuto come un -large-hpdi-1024×600, quindi ho semplicemente ricopiato le risorse gia’ presenti nella cartella values-large anche in values-large-hpdi-1024×600 ed e’ tutto ritornato alla normalita.

Giusto per darvi un ulteriore esempio, ecco come appare la stessa schermata di Login/Signup nei due dispositivi (senza aver personalizzato alcuna risorsa):

Kindle Fire

Galaxy Tab 7"

Due device con lo stesso form factor, le stesse caratteristiche dello schermo (1024×768 x 160dpi) si comportano in maniera diversa. Anche questa e’ Android Fragmentation! :(

1 Comments

  1. Thank you 1000 much for saving my day.

    I got the same issue while testing my application on Amazon Kindle Fire.

    Solution:
    For Kindle Fire
    => Store images inside drawable-large-mdpi-1024×600
    => Create layout inside layout-large-mdpi-1024×600

    For Samsung Galaxy Tab
    => Store images inside drawable-large-hdpi-1024×600
    => Create layout inside layout-large-hdpi-1024×600

    Thanx a lot once again.

Leave a Reply