2015-02-16 31 views
6

Android'in bir uygulama sorgusuna izin verdiği cihaz ekran özelliklerinden biri en boy oranıdır. uzun ve notlong - Bu özellik gördük örneklerde sadece iki değere sahip görünmektedir.Android ekran en boy oranını matematiksel olarak hesaplama

Bir aygıtı, iki en boy oranından birine sahip olarak sınıflandırmak için Android tarafından kullanılan mantığı tersine çevirmeye çalışıyorum.

Ben Android Studio AVD Yöneticisi aracında bulunan cihaz tanımları tarafından sağlanan değerlere atıfta ve kombine bazı resmi verileri ile çalışmak için almak için kendi hesaplamalarına ki: Devices included in AVD Manager

sütun " Yayınlanmış Oran ", AVD Yöneticisinden çıkarılan değeri gösterir. Bu sonuçlara dayanarak, Galaxy S4 ve Galaxy Nexus uzunkabul ederken Nexus 5 ve 6 notlong kabul edilir anlamak için başarısız ediyorum.

+0

yayımlamak oranı sonucu gelir? Eğer seninki, gösterebilir misin? –

+0

Yayımlanan Oran AVD yöneticisinden geldi. Google tarafından sağlanan Android Studio'nun ve ayrıca Android SDK'nın bir parçasıdır. –

+0

AVD Yöneticisi'ni nasıl başlatacağınız - https://db.tt/shvjNGcb ve burada mevcut bir cihazın en boy oranını nasıl bulacağınız - https://db.tt/74U5kQEh –

cevap

0

Cevabın, ben bu yanıt için ama yine de öğrenmek isteyenler için çok geciktim düşünüyorum: hangi algoritmadan

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 
); 
İlgili konular