2013-05-08 20 views
5

Arapça kullanıcılar için ayrı bir mizanpaj dosyası var, sadece Android'in doğal RTL yansıtmalarını desteklemeyen aygıtlar için kullanmak istiyorum (API düzeyinde 17). API 17 veya üzeri bir cihaz kullanıyorlarsa, kullanılacak varsayılan XML dosyasını istiyorum.Android, yalnızca eski cihazlarda nitelikli bir kaynak dosyasını nasıl kullanabilirim?

Bunu nasıl başarabilirim? Biliyorum:

'u res/layout/ içine koyarsam, varsayılan düzen dosyası olarak kullanılır. Sonra res/layout-ar/ başka home.xml koyarsanız ben V17 veya daha yüksek olan arap hoparlörler için kullanılacaktır sonra res/layout-ar-v17/ başka home.xml koyarsanız

o arap hoparlörler

için kullanılacaktır. *

* Sorun, başka bir home.xml sahip olmak istemiyorum, sadece sistemin varsayılanı kullanmasını ve yansıtmasını istiyorum.

cevap

6

Layout Aliases'u kullanabilirsiniz. İki düzen dosyasıyla sonuçlanacaksınız, onları home_one.xml ve home_two.xml olarak adlandıralım. Sonra res/values/layout.xml ve res/values-ar-v17/layout.xml size

<item name="home" type="layout">@layout/home_one</item> 

olurdu ve res/values-ar/layout.xml sen gerekir

<item name="home" type="layout">@layout/home_two</item> 
1

Varsayılan düzen için bir tane ve API düzeyi 17+ olan biri için iki tane yeniden kullanılabilir düzen (here açıklandığı gibi) oluşturulmasını öneriyorum. Ardından, uygun yapılandırmaya özgü klasörlerde çeşitli home.xml dosyalarını tanımlayabilirsiniz, böylece <include> (veya <merge>) uygun düzenler. Bu şekilde, tüm düzen yerine tek bir <include> etiketini çoğaltmanız yeterlidir.

İlgili konular