Soru Cihazı LDPI MDPI HDPI veya XHDPI [duplicate] olarak nasıl bulabilirim?


Bu sorunun zaten bir cevabı var:

Uygulama için herhangi bir kod parçacığı olmadan, ekran çözünürlüğü ve ekranın uzunluğu nasıl alınır. Cihazın ldpi, mdpi, hdpi veya xhdpi olup olmadığını nasıl bulabilirim?


22
2018-02-25 06:24


Menşei


Hayır, cihaz türünü kodlamak ve bulmak istemiyorum? - Sreeram
geç bir tür ama bir kod parçacığı yazmadan ama ne yazık ki app google oyun deposundan kaldırılır ama ne benim yüklü cihazdan apk ayıklamak mümkün ve ne elde etmek için aradığınız ne elde edeceğiz playstore bu uygulama oldu Aşağıdaki bağlantıya yüklendi: mediafire.com/?2jccjo17mvxgljt  Umarım bu aradığınızı elde etmenize yardımcı olur. Bu size yardımcı olup olmadığınızı bildirin - Niranjan Balkrishna Prajapati
Hızlı bir referans istiyorsanız, Google birkaç popüler cihazın ekran ayrıntılarını sunar: design.google.com/devices - rpattabi


Cevaplar:


Düzenle: kullanım DisplayMetrics ekranın yoğunluğunu almak için

getResources().getDisplayMetrics().densityDpi;

Bu, aşağıdaki sabitleri temsil eden int değerini döndürecektir. 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;
}

Bu geri dönecek  thsi'ye bağlı sabitleri takip ederek cihazı tanımlayabilirsiniz


Bunu dene

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();
}

Kaynak Ekran çözünürlüklerini belirleme


69
2018-02-25 06:27



Bu cevap aslında soruyu cevaplamıyor. Yoğunluk değil, boyut soruyor. - kabuko
@SiddharthLele Senin yüzünden buldum .... teşekkürler - Pragnani
@kabuko cevabı güncellendi ... - Pragnani
Kod yazmak istemiyorum - cep telefonunu görebilir miyim? Amaç: Samsung S4, mart ayında piyasaya çıkıyor - Yoğunluğu bilmek istiyorum, - Sreeram
Gabe ve yayınladığınız gibi, snippet'i kodlamalıyım - cihazda çalıştırıp cihaz türünü bulmalıyım. Ancak gereklilik, ekranın teknik özelliklerinin bilinmesi - cihaz türünü bulabilirim - açık olmayan bir formülü hatırlıyorum [genişlik karesi * yükseklik] / uzunluk .. blah blah .. değeri <1> ise 1> 1.25> 1.50 Cihaz tipini bulabilirim. Benim için açıklar mısın? - Sreeram


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

Yoğunluk değişkeni, farklı dpis'e karşılık gelen DisplayMetrics'de tanımlanmış bir sabittir.


2
2018-02-25 06:33



Kod yazmak istemiyorum - cep telefonunu görebilir miyim? Amaç: Samsung S4, mart ayında piyasaya çıkıyor - Yoğunluğu bilmek istiyorum, - Sreeram
Google'ı kullan ve ara. Ve sonra yanlış siteyi soruyorsunuz - bu, cihaz özellikleriyle ilgili değil, programlama sorularını sormak için bir sitedir. - Gabe Sechan
Samsung S4 XHDPI - Igor Ganapolsky