2013-02-25 9 views
22

Senza alcun frammento di codice per l'applicazione, come ottenere la risoluzione dello schermo e la lunghezza dello schermo. Come posso scoprire se il dispositivo è ldpi, mdpi, hdpi o xhdpi?Come trovare il dispositivo come LDPI MDPI HDPI o XHDPI

+0

No, non desidero codificare e trovare il tipo di dispositivo? – Sreeram

+0

il suo tipo di ritardo ma c'era questa app sul playstore che ti farà ottenere ciò che stai cercando senza scrivere uno snippet di codice, ma sfortunatamente l'app viene rimossa da Google Play Store ma sono stato in grado di estrarre l'apk dal mio dispositivo installato e l'ho caricato al seguente link: https://www.mediafire.com/?2jccjo17mvxgljt Spero che questo ti aiuti a ottenere ciò che stai cercando. Fammi sapere se questo ti ha aiutato o meno –

+0

Se desideri un riferimento rapido, Google fornisce i dettagli sullo schermo di alcuni dispositivi popolari: https://design.google.com/devices/ – rpattabi

risposta

69

Edit: uso DisplayMetrics per ottenere la densità dello schermo

getResources().getDisplayMetrics().densityDpi; 

questo restituirà il valore int che rappresenta le seguenti costanti. DisplayMetrics.DENSITY_LOW ,DisplayMetrics.DENSITY_MEDIUM, DisplayMetrics.DENSITY_HIGH, DisplayMetrics.DENSITY_XHIGH

int density= getResources().getDisplayMetrics().densityDpi; 

switch(density) 
{ 
case DisplayMetrics.DENSITY_LOW: 
    Toast.makeText(context, "LDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_MEDIUM: 
    Toast.makeText(context, "MDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_HIGH: 
    Toast.makeText(context, "HDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_XHIGH: 
    Toast.makeText(context, "XHDPI", Toast.LENGTH_SHORT).show(); 
    break; 
} 

Questo restituirà seguenti costanti in base thsi è possibile identificare il dispositivo


Prova questo

int screenSize = getResources().getConfiguration().screenLayout & 
     Configuration.SCREENLAYOUT_SIZE_MASK; 

switch(screenSize) { 
    case Configuration.SCREENLAYOUT_SIZE_LARGE: 
     Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show(); 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_NORMAL: 
     Toast.makeText(this, "Normal screen",Toast.LENGTH_LONG).show(); 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_SMALL: 
     Toast.makeText(this, "Small screen",Toast.LENGTH_LONG).show(); 
     break; 
    default: 
     Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show(); 
} 

Fonte Identifying screen resolutions

+0

Questa risposta in realtà non risponde domanda. Si tratta di densità, non di dimensioni. – kabuko

+1

@SiddharthLele L'ho trovato grazie a voi .... grazie – Pragnani

+0

@kabuko risposta aggiornata ... – Pragnani

2
DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
int density = dm.densityDpi; 

La variabile di densità è una costante definita in DisplayMetrics corrispondente ai diversi dpis.

+0

Non voglio codificare - vedere il cellulare potrei? Scopo: Samsung S4 sta arrivando sul mercato a marzo - Voglio conoscere la densità, – Sreeram

+2

Usa google e cerca poi. E poi stai chiedendo sul sito sbagliato: questo è un sito per porre domande di programmazione, non sulle specifiche del dispositivo. –

+0

Samsung S4 è XHDPI –