2011-04-05 11 views
8

Bir android uygulamasına sahibim, hem yatay hem de dikey mod için 1 düzenim (1 düzen xml dosyası) kullanıp kullanamayacağımı bilmek istiyorum. Ama her mod için farklı bir arka plan istiyorum? Mümkün mü? Farklı arka plan resmine 2 xml dosya noktasına ihtiyacım var mı? Ya da 1 xml dosyası kullanarak istediğimi başarabilirim?Manzara modu ve portre modu arasında 2 farklı arka planı nasıl kullanabilirim

Teşekkür ederiz.

cevap

10

Bunu gerçekleştirmek için kodu kullanmak isteyen iseniz, sizin onCreate() ve/veya onConfigurationChange() içine

View view = (View) findViewById(R.id.background_carrying_view); 
int orientation = getResources().getConfiguration().orientation; 
if(orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    view.setBackgroundResource (R.drawable.background_land); 
} else { 
    view.setBackgroundResource (R.drawable.background_port); 
} 

gibi bir şey takmadan deneyebilirsiniz.

Bu yöntemde, hem yatay hem de dikey için aynı düzeni kullanırsınız.

+1

Bu, ancak 'View view = this.getWindow() öğesini kişisel olarak kullanırdım. GetDecorView();' – Squonk

+0

Oh, evet. Haklısın. – Cephron

+0

Her zaman iki ayrı xml düzenini tanımlayabilirsiniz. Biri portre ve manzara için. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

19

drawable-land-hdpi klasörünü oluşturup manzara arka planımı kopyalayarak aynı şeyi gerçekleştirdim.

benim kodunu değiştirmek istemedim, sadeceçekilebilir-kara-hdpi ve çekilebilir-hdpi iki klasörde bir XML düzeni dosyasını ve iki farklı background.jpg görüntüler var.

+6

: kullanabilmeniz için android: configChanges uygulamanız gerekmez. = "yönlendirme" etkinliğiniz için bildirimde ayarlanır, aksi halde geçerli etkinlik yok edilmez ve kaynaklar ilgili dizinlerden yeniden başlatılır ... burada http://developer.android.com/guide adresinde kullanabileceğiniz tüm değiştiricilerin açıklaması yer alır. /topics/resources/providing-resources.html –

+0

android: configChanges = "oryantasyon" etkinliğiniz için manifestoda ayarlandı –

+0

Bu mükemmel bir şekilde çalıştı - teşekkürler! – mpemburn