2010-04-01 21 views
30

Android uygulamam yüklenirken görüntülenecek bir açılış ekranı oluşturuyorum. Bunu doğru boyutta oluşturmak istiyorum, böylece Android ekrana sığması için yukarı veya aşağı otomatik olarak ölçeklenmeyecek. (Bu bir bitmap görüntüsü, bir yağlı resmin fotoğrafı, bu yüzden onu sadece dokuz yamaya dönüştüremiyorum.)Android açılış ekranlarım hangi çözünürlükte olmalı?

Ama önemsediğim en az üç önemli ekran boyutu var: 320x480, 480x854 (Droid) ve 480x800 (Nexus One).

supporting multiple screen sizes belgelerini okudum, ancak hala Droid/Nexus one için farklı açılış ekranlarını nasıl yapılandırmam gerektiğini hala görmüyorum (hem Android hem de "HDpi" kaynakları söz konusudur.) ve tam olarak ne kadar büyük bir sıçrama ekranının olması gerektiğini bilmiyorum. (Droid? N1'deki OS başlık çubuğu/menüsü ne kadar uzun?)

Bu görüntüleri hangi boyutlarda yapmalıyım ve Android'e belirli bir ekranda doğru boyutu kullanmasını nasıl söyleyebilirim?

+0

Neden 300x300 boyutunda bir görüntü oluşturmuyorsunuz ve ortalıyorsunuz? – zildjohn01

+0

Aklımı okuyorsun. Bu sorunun cevabını görmek isterim. – Felix

+0

Bu bir bitmap görüntüsüdür. Merkezlemenin garip görünmesini sağlar. –

cevap

32

Mutlak ekran boyutu veya durum çubukları veya — gibi bir şey hakkında endişelenmeniz gerekmez, bu yüzden dokuz yama görüntüsüne sahibiz.

Yaptıklarım, her bir çözünürlük için iyi görünen bir görüntüye sahipti. — temelde şeffaf bir arka plan üzerinde bir logo, alt kısımda bir metin var.

Ardından, üst ve yan kenarlarda çok fazla yer açtım, görüntünün etrafında dokuz kenarlık bir kenarlık oluşturdu, sol, sağ ve üst kenarların yakınında tek bir pikselle. Bu, görüntünün ekranı doldurmak için kenarlarda ve üstte eşit şekilde genişlemesine izin verir.


Düzenleme aşağıda Dan yorumuna cevaben:

Evet, grafik hangi açık ekran boyutları için kullanılması gerektiğini belirlemek için bir yol var, ama deprecated bu. drawable-hdpi ve -ldpi kaynak eleme Tıpkı orada

, bu drawable-HHHxWWW — büyük piksel boyut birinci gelen kullanmak da mümkündür.

örn. drawable-800x480 ve drawable-854x480

+0

Benim durumumda, görüntüm bir logo değil; Bu bir bitmap portresi (bir yağlı resmin bir fotoğrafı). Bu resmi dokuz yama görüntüye dönüştürmek bir seçenek değildir. –

+0

Eğer böyle bir görüntü varsa, onu germek istemezsiniz. Bu yüzden, her yoğunluk için en yaygın çözünürlüğe ölçeklendiririm ve daha fazla ekran alanı bulunan şeffaf (veya başka bir) kenarlığa sahip olmasını sağlarım. –

+0

Bir kenarlık eklemek tuhaf görünüyor. Bunun yerine, iki kaynağı tanımlamak istiyorum: biri 480x800 için, diğeri 480x854 için. Mümkün mü? –

6

İlk olarak, aygıt modelini android.os.Build aracılığıyla bulabilir ve bunu hangi görüntünün gösterileceğini belirlemek için kullanabilirsiniz. İkinci olarak, kişisel olarak rahatsız olmazdım. Her android ekran 320x480 derece olduğuna inanıyorum çünkü inanıyorum, ve android benim deneyim içinde çok iyi cihazlar arasında en boy oranı korur. Ebeveynleri doldurmak için bir 480x800 sıçrama seti, karşılaştığım kadarıyla hem N1 hem de droid üzerinde oldukça güvenilirdi.

+0

Ekran çözünürlüğünü veya yoğunluğunu öğrenmek için 'Yapı'ya bakmanıza gerek yoktur. En boy oranları da cihazlar arasında oldukça çılgınca değişebilir; Bu yüzden "uzun" ve "olmayan" kaynak öznitelikleri vardır. Her neyse, bunun hiçbiri 'drawable-xdpi' klasörleri ve dokuz-yama görüntüleri var gibi önemli değil :) –

+0

Destekleyici çoklu ekran belgesine geri döndü ve gerçekten iyi bir noktaya sahipsin. “Uzun” ve “çok uzun”, tamamen özlediğim konulardı. Dokuz yama çözümünüzün bazı ekranlarını aşırı durumlarda yayınlayabilir misiniz? Böylece, bu yöntemin resimlerdeki sıçramalara nasıl hitap edeceğini anlayabiliyorum? – jqpubliq

+1

"Oldukça güvenilir" diyorsunuz, ama benimki gibi bitmap görüntüleriyle (yağlı bir fotoğrafın fotoğrafı) çalışırken, 480x800 vs 480x854 arasında fark edilebilir bir bozulma var. İki kaynağı tanımlamak istiyorum, biri 480x800 ve diğeri 480x854 için. Mümkün mü? –

1

Uyguladığım başka bir çözüm, ekranı ("MATCH_PARENT" genişliğini ve yüksekliğini) "Ölçek türü" ile doldurmak için bir ImageView koymaktır. Bu şekilde, görüntü gerilmemekte ancak kenarlar boyunca kırpılmaktadır. Önemli içeriğe (logolar ve bunun gibi şeyler) kenarlara yakın yerleştirmeyin. Eğer bir fotoğrafsa, kenarların “harcanabilir” olduğunu ve kırpılabileceğini umuyorum.

İlgili konular