2015-02-16 23 views
6

Una delle proprietà dello schermo del dispositivo che Android consente a una query di app è il suo formato. Negli esempi che ho visto questa proprietà sembra avere solo due valori - lunga e notlong.Come calcolare matematicamente le proporzioni dello schermo Android

Sto cercando di decodificare la logica utilizzata da Android per classificare un dispositivo con uno dei due rapporti di aspetto.

per ottenere alcuni dati ufficiali con cui lavorare, ho fatto riferimento ai valori previsti dalle definizioni dei dispositivi inclusi nello strumento AVD Manager Android Studio, e combinato che con i miei calcoli: Devices included in AVD Manager

La colonna " Rapporto pubblicato "mostra il valore estratto da AVD Manager. Sulla base di questi risultati, sto riuscendo a capire come Nexus 5 e 6 sono considerati notlong mentre Galaxy S4 e Galaxy Nexus sono considerati lungo.

+0

il risultato pubblicare rapporto provengono da quale algoritmo? Se è tuo, puoi mostrarlo? –

+0

Il rapporto pubblicato proviene dal gestore AVD. Fa parte di Android Studio fornito da Google e fa parte dell'SDK di Android. –

+0

Ecco come avviare AVD Manager - https://db.tt/shvjNGcb e qui è come scoprire le proporzioni di un dispositivo esistente - https://db.tt/74U5kQEh –

risposta

0

Penso di essere molto in ritardo per questa risposta, ma ancora per le persone che vogliono sapere, la risposta è:

if(screen_width > screen_height) 
{ 
    aspectRatio = screen_width/screen_height; 
} 
else 
{ 
    aspectRatio = screen_height/screen_width; 
} 
4
DisplayMetrics metrics = context.getResources().getDisplayMetrics(); 
float ratio = ((float)metrics.heightPixels/(float)metrics.widthPixels 
); 
Problemi correlati