Autore Topic: Risoluzione diversi dispositivi  (Letto 3201 volte)

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Risoluzione diversi dispositivi
« il: 25 Giugno 2012, 17:45:56 CEST »
0
Scusate, mi sembrava di aver capito che utilizzando "dp" come unità di misura automaticamente le dimensioni delle View e quindi dei testi o immagini si a o_Odattavano a seconda della risoluzione del dispositivo, invece io ho un galaxy s2 su cui ho costruito i miei layout e provando l'app su un' altro smart phone (non ricorso il modello ma comunque con schermo più piccolo, il layout non é mostrato per intero... ho capito male io o mi sfugge qualcosa?!  o_O

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Risoluzione diversi dispositivi
« Risposta #1 il: 25 Giugno 2012, 18:20:07 CEST »
+1
L'unità di misura "dp" è pensata per avere la stessa dimensione fisica reale su dispositivi con schermi di risoluzione e pitch diverso. Per comprendere meglio, è come se tu indicassi che un Button deve essere 2cm di larghezza, starà poi ad Android capire su quale schermo si trova, per cui su un tablet occupare 2cm vuol dire occupare una piccola porzioni di schermo, mentre su un smartphone di 2 anni fa 2cm sono metà schermo.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #2 il: 25 Giugno 2012, 21:26:47 CEST »
0
Quindi non c'é una soluzione efficace? Ho letto anche questo topic: difference-of-px-dp-dip-and-sp-in-android - Android Developers Italia e mi ha confermato quanto già sapevo e quanto hai scritto te, ma se il dp non mi viene per le diverse risoluzioni come é fattibile la cosa?  o_O

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Risoluzione diversi dispositivi
« Risposta #3 il: 25 Giugno 2012, 21:38:03 CEST »
0
dipende da cosa cerchi di ottenere con precisione e come hai cercato di ottenerlo, perchè i dp ti aiutano ad evitare il problema che descrivi

prova a postare i due screenshot
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #4 il: 25 Giugno 2012, 23:08:35 CEST »
0
L'altro dispositivo me lo sono fatto prestare 5 minuti per fare una prova ma non è mio, comunque il layout è per una pagina di credits quindi c'è semplicemente una serie di textview in verticale con una imageview nel mezzo (e un relative layout e un table layout) ed il problema è che su Galaxy vedo la schermata per intera (dato che ho questo dispositivo ho sviluppato "su misura") mentre sull'altro dispositivo le proporzioni delle textview e imageview nonostante fossero proporzionate "sforava" in verticale cioè rimanevano fuori le view in fondo, come se sul mio galaxy tappassi gli ultimi 2 centimetri di schermo. E' vero che lo schermo del galaxy è più lungo in verticale di quello dell'altro dispositivo ma bene o male una differenza da minima a più evidente tra un device e l'altro c'è sempre.
Le dimensioni sono tutte specificate in "dp" anche quelle di eventuali margin e padding.
Ho pensato di provare con una scrollview ma dato che il problema si verifica anche sull'activity principale dove dovendo agire con delle gesture lo scroll non è indicato senza contare che una soluzione efficace potrebbe essere utile in futuro per casi simili dove la scrollview non è d'interesse.

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:Risoluzione diversi dispositivi
« Risposta #5 il: 25 Giugno 2012, 23:26:28 CEST »
0
per capire il tuo problema, penso sarebbe utile sapere esattamente quali sono i dispositivi di cui parli..
in questo modo si potrebbe vedere che differenze hanno in dimensione di schermo, pixel e dpi..
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #6 il: 26 Giugno 2012, 00:08:05 CEST »
0
Il mio è un Samsung Galaxy S2, l'altro (quello dove ho notato il problema di visualizzazione incompleta in altezza) se non sbaglio dovrebbe essere un Samsung Galaxy Next (immagine sotto).



Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:Risoluzione diversi dispositivi
« Risposta #7 il: 26 Giugno 2012, 00:27:28 CEST »
+1
galaxy next = 240 x 320pixel con  127dpi (quindi small screen con ldpi)
galaxy s2 = 480x800 pixel con circa 240 dpi (non ho trovato i dpi esatti, ma dovrebbe essere simile al galaxy s) (normal screen con hdpi)
visto che uno è normal e l'altro small, servirebbe un layout diverso per ogni tipologia di schermi, e in piu avendo dpi diversi dovresti creare i vari tipi di immagini per ldpi,mdpi,hdpi e xhdpi..
per il testo, se non ricordo male dovrebbe bastare non mettere la dimensione e lasciare l'impostazione small text che eclipse ti mette utilizzando il creatore grafico per l'xml..in ogni caso per risolvere tutti i tuoi dubbi, leggiti bene questo..a me ha aiutato molto:
http://developer.android.com/guide/practices/screens_support.html
in ogni caso con i dati che ti ho postato puoi creare i 2 emulatori e fare tutte le prove del caso..
« Ultima modifica: 26 Giugno 2012, 00:34:03 CEST da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Risoluzione diversi dispositivi
« Risposta #8 il: 26 Giugno 2012, 08:01:50 CEST »
0
Ma metti tutto il contenuto della pagina in una ScrollView. Così nello schermo dove non entra, si può "scrollare".
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #9 il: 26 Giugno 2012, 08:24:34 CEST »
0
Ma metti tutto il contenuto della pagina in una ScrollView. Così nello schermo dove non entra, si può "scrollare".

Sì, l'avevo scritto che poteva essere una possibilità ma in un'altra activity ho lo stesso problema (anche se meno influente) ed ho la necessità di utilizzare gesture per lo swipe sia in orizzontale che in verticale per cui la scrollview non è indicata.

Per quanto riguarda le immagini per ldpi, mdpi e hdpi le ho create, mi suona peggio la dimensione standard del testo dato che ho misure diverse che con small o medium non so quanto possano essere mantenute, tuttavia farò una prova e vi farò sapere.

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #10 il: 30 Giugno 2012, 15:22:56 CEST »
0
Intanto ho messo un thanks ad entrambi per le delucidazioni che mi avete fornito. Per quanto riguarda l'activity che mi dava maggiori problemi problemi in lunghezza, anche se con poca soddisfazione ho momentaneamente risolto con una scrollview ma per quella principale dove viene gestita con degli swype non ho apportato modifiche. Devo ancora capire come funziona il concetto di small e di altre dimensioni standard, comunque sia nel frattempo ho pubblicato la mia applicazione perchè quantomeno su dispositivi ad altaa risoluzione non dovrebbe avere problemi di visualizzazione. Se ci volete dare un'occhiata per avere anche un feedback di visualizzazione su altri dispositivi reali ho pubblicato l'app "SMS Blind Reader" sia in versione PRO che FREE, la trovate nella firma, premetto che il target di interesse è un po' ristretto e la sua funzionalità è ancora da discutere e verificare.

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #11 il: 03 Luglio 2012, 12:19:07 CEST »
0
Ho fatto uno screenshot sul dispositivo che mi hanno prestato, non è il solito modello ma la risoluzione è praticamente la stessa come anche il risultato finale.

Questo è lo screenshot come si vede su galaxy s2:


e questo sull'altro dispositivo con risoluzione più bassa:


Al di là del testo che uno è inglese e uno è in italiano ma lo spazio occupato è lo stesso, solo che il primo l'ho usato per la pubblicazione.
Non è un problema che vincola l'applicazione di per se, infatti non ne risente nelle funzionalità, ma è interessante anche riuscire a capire il nocciolo della questione in generale.

Offline andre9004

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Lg Optimus Hub
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #12 il: 03 Luglio 2012, 14:15:46 CEST »
0
per il testo devi usare l'unità di misura "sp" e 18sp è lo standard

Offline Androi-dé!

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Risoluzione diversi dispositivi
« Risposta #13 il: 07 Luglio 2012, 15:42:02 CEST »
0
Ho provato a sostituire i "sp" ai "dp" che avevo impostato per il testo e su Galaxy S2 non ho notato differenza (a parità di valore, cioè 14dp aveva lo stesso risultato di 14sp).
Il problema è che con l'avd non riesco a ricreare quello che realmente visualizzo sui dispositivi reali (a parte il galaxy S2 che però non mi serve perchè ce l'ho fisicamente), neanche con le impostazioni che mi ha suggerito frecciak, e pertanto non posso valutare l'affidabilità delle mie prove.
Ad esempio non ottengo la situazione della seconda immagine che ho postato per poterci andare a lavorare su.