2012-07-28 27 views
6

Hem Galaxy Nexus hem de Galaxy S3'ü hedeflemesi beklenen bir uygulama geliştirdim. Her ikisinin de 720 x 1280 ekran çözünürlüğü var ve uygulamanızda sadece 'dp' değerlerini kullandım. Kaynaklar 'layout-xhdpi' ve 'drawable-xhdpi' klasörlerinde bulunur. Düzen, Nexus'ta mükemmel görünüyor, ancak dolgu değerleri (dp'de) S3'te biraz kapalı. S3'teki daha büyük ekran boyutu ve yoğunluğun farklılığı nedeniyle olduğunu düşünüyorum.Android S3 düzeni vs Galaxy Nexus düzeni

Nexus ve S3 için ayrı bir klasör nasıl oluşturabilirim, böylece farklı ekran boyutlarını dikkate alabilirim?

cevap

0

Cihaz modelini alabilir ve düzeni ayarlayabilirsiniz. Eğer modeli

String phoneModel = android.os.Build.MODEL; 
if(phoneModel.equals("ABC")) { 
    // SET Ralated Layout 
} else if(phoneModel.equals("XYZ")) { 
    // SET Ralated Layout 
} 
+2

kesinlikle bunu yapmak için daha iyi bir yol var. Java kodunu değil xml'yi değiştirmem gerekiyor. – karlstackoverflow

+0

O.K. Ama bana oy kullanma nedenini söyleyebilir misin? –

9

kullanın bu şema alabilirsiniz aşağıdaki gibi

:

aynı düzen manzara ve portre düzen-sw360dp için

Sadece manzara düzen-sw360dp-arazi için

Sadece portre için layout-sw360dp-port

Önceden sınıflandırılmış klasörler kullanarak bu adları içeren klasörler oluşturabilirsiniz. Yerleştirilen yerleşim Galaxy S3 - WXGA720'ye yüklenir. Bu, bu tür cihazların düzenini bozmanın bir yoludur. Onun gerekli Android 4.0+.

+0

hala bu klasörde kullanılmıyor – Mikey

5

Sistemin GS3 için kullanacağı sw360dp-long kullanıyorum ve Galaxy Nexus için sw360dp kullanıyorum.

+0

bu benim durumumda çalışmıyor ... Ben mükemmel çalışma sw384dp – whyoz

+1

kullanmak zorunda kaldı. Galaxy s3 için 'sw360dp-long' ve benzer kategorideki diğer tüm cihazlar için 'sw360dp' kullanın. – astuter

2

Nexus 4: kullanım sw384dp (768x1280)

Samsung S3: kullanım sw360dp (720x1280)

Hem sw360dp kova içine düşmek, ama bazı geliştiriciler şeyler piksel yapmanız gerekebilir unutulmamalıdır

mükemmel, bu yüzden 384 klasörüne ihtiyaç olabilir, ancak LinearLayout ve hardcoding dp birimleri yerine "weight" kullanarak daha esnek bir düzen tasarlayabilirsiniz.