feragat
Bu cevap 2013'ten geliyor ve ciddi bir şekilde modası geçmiş. Android 3.2'den itibaren 6 grup ekran yoğunluğu var. Bu cevap mümkün olan en kısa sürede güncellenecek, ancak ETA olmadan güncellenecektir. Şu anda tüm yoğunluklar için resmi belgelere bakın (belirli piksel boyutları hakkında bilgi bulmak her zaman zor olsa da).
İşte tl / dr sürümü
Bununla, Android cihazın görüntü yoğunluğu için uygun dosyayı seçecek, ardından görüntüyü 9 yama standardına göre uzatacaktır.
tl sonu; dr. Tam gönderi önde
Sorunun tasarımla ilgili yönüyle ilgili cevap veriyorum. Ben bir geliştirici değilim, bu yüzden sağlanan çözümlerin çoğunu uygulamak için kod sağlamak mümkün olmayacaktır. Ne yazık ki, ilk Android Uygulamamı geliştirmemde yardımcı olduğum zamanki gibi kaybolan tasarımcılara yardımcı olmak.
Tüm ölçülere uygun
Android ile şirketler cep telefonlarını ve masalarını neredeyse her boyutta, istedikleri çözünürlükle geliştirebilirler. Bu nedenle, sabit ekran çözünürlükleri olmadığından, açılış ekranı için "doğru görüntü boyutu" yoktur. Bu, bir açılış ekranı uygulamak isteyen insanlar için bir sorun oluşturur.
Kullanıcılarınız gerçekten bir açılış ekranı görmek istiyor mu?
(Bir yan notta, kullanılabilirlik adamları arasında açılış ekranları biraz cesaretini kırmıştır. Kullanıcının hangi uygulamaya dokunduğunu zaten bildiği ve görüntünüzü bir açılış ekranı ile markalamanın gerekli olmadığı, yalnızca kullanıcı deneyimini kesintiye uğrattığı iddia edilmektedir. Bununla birlikte, oyunlar ve benzerleri de dahil olmak üzere, başlatıldığında (5s +) önemli miktarda yükleme gerektiren uygulamalarda kullanılmalıdır, böylece kullanıcı uygulamanın çöküp çökmediğini merak etmeyecektir)
Ekran yoğunluğu; 4 sınıf
Bu nedenle, piyasadaki telefonlarda çok farklı ekran çözünürlükleri verildiğinde Google, yardımcı olabilecek bazı alternatifler ve şık çözümler uyguladı. Bilmeniz gereken ilk şey, Android'in TÜM ekranları 4 farklı ekran yoğunluğuna ayırmasıdır :
- Düşük Yoğunluk (ldpi ~ 120dpi)
- Orta Yoğunluk (mdpi ~ 160dpi)
- Yüksek Yoğunluklu (hdpi ~ 240dpi)
- Ekstra Yüksek Yoğunluk (xhdpi ~ 320dpi) (Özel olarak oluşturulmuş cihazların değişen dpi değerleri olacağı için bu dpi değerleri yaklaşıktır)
(Eğer bir tasarımcıysanız) bundan bilmeniz gereken şey, Android'in cihaza bağlı olarak görüntülemek için temel olarak 4 görüntüden birini seçmesidir. Bu nedenle temel olarak 4 farklı görüntü tasarlamak zorundasınız (geniş ekran, portre / manzara modu gibi farklı formatlar için daha fazlası geliştirilebilir).
Bunu göz önünde bulundurarak şunu bilin: Android'de kullanılan her bir çözünürlük için bir ekran tasarlamadığınız sürece, görüntünüz ekran boyutuna sığacak şekilde uzanır. Ve resminiz temelde bir eğim veya bulanıklık değilse, esnemede istenmeyen bir bozulma elde edersiniz. Temel olarak iki seçeneğiniz vardır: her ekran boyutu / yoğunluk kombinasyonu için bir görüntü oluşturun veya dört adet 9-yama görüntüsü oluşturun.
En zor çözüm, her bir çözünürlük için farklı bir açılış ekranı tasarlamaktır. Bu sayfanın sonundaki tablodaki çözünürlükleri izleyerek başlayabilirsiniz (daha fazlası vardır. Örnek: 960 x 720 burada listelenmemiştir). Ve görüntüde küçük metin gibi bazı küçük ayrıntılara sahip olduğunuzu varsayarsak, her çözünürlük için birden fazla ekran tasarlamanız gerekir. Örneğin, orta bir ekranda görüntülenen 480x800 boyutunda bir görüntü iyi görünebilir, ancak daha küçük bir ekranda (daha yüksek yoğunluk / dpi ile) logo çok küçük olabilir veya bazı metinler okunamayabilir.
9 yama görüntüsü
Diğer çözüm 9 yamalı bir görüntü oluşturmaktır . Temel olarak görüntünüzün çevresinde 1 piksellik şeffaf bir kenarlıktır ve bu kenarlığın üst ve sol alanına siyah pikseller çizerek görüntünüzün hangi bölümlerinin gerilmesine izin verileceğini tanımlayabilirsiniz. 9 yamalı görüntülerin nasıl çalıştığına dair ayrıntılara girmeyeceğim, ancak kısaca, üst ve sol alandaki işaretlere hizalanan pikseller, görüntüyü uzatmak için tekrarlanacak piksellerdir.
Birkaç temel kural
- Bu görüntüleri photoshop'ta (veya şeffaf png'leri doğru bir şekilde oluşturabilen herhangi bir görüntü düzenleme yazılımı) yapabilirsiniz.
- 1 piksellik kenarlığın TAM ŞEFFAF olması gerekir.
- 1 piksellik saydam kenarlığın yalnızca üstte ve solda değil, görüntünüzün her yerinde olması gerekir.
- bu alana yalnızca siyah (# 000000) piksel çizebilirsiniz.
- Üst ve sol kenarlıklar (görüntü gerdirmeyi tanımlayan) yalnızca bir noktaya (1 piksel x 1 piksel), iki noktaya (her ikisi de 1 piksel x 1 piksel) veya BİR sürekli çizgiye (genişlik x 1 piksel veya 1 piksel x yükseklik) sahip olabilir.
- 2 nokta kullanmayı seçerseniz, görüntü orantılı olarak genişletilir (böylece her nokta son genişlik / yükseklik elde edilene kadar sırayla genişler).
- 1 piksellik kenarlığın amaçlanan temel dosya boyutlarına ek olması gerekir. Bu yüzden 100x100 9-yama görüntüsü aslında 102x102 (üst, alt, sol ve sağda 100x100 + 1 piksel) olmalıdır
- 9 yama görüntüleri * .9.png ile bitmelidir
Böylece logonuzun her iki tarafına (üst kenarda) 1 nokta ve üstüne ve altına (sol kenarda) 1 nokta yerleştirebilirsiniz ve bu işaretli satırlar ve sütunlar uzatılacak tek piksel olacaktır.
Misal
İşte 9 yamalı bir görüntü, 102x102 piksel (uygulama amaçlı olarak 100x100 son boyut):
Aynı görüntünün% 200 yakınlaştırması:
Hangi satırların / sütunların genişleyeceğini söyleyerek üstte ve soldaki 1 piksel işaretlerine dikkat edin.
Uygulamanın içindeki 100x100'de bu resim şöyle görünecektir:
Ve 460x140'a genişletilirse ne istersiniz:
Dikkate alınması gereken son bir şey. Bu görüntüler monitör ekranınızda ve çoğu cep telefonunda iyi görünebilir, ancak cihaz çok yüksek bir görüntü yoğunluğuna (dpi) sahipse, görüntü çok küçük görünecektir. Muhtemelen hala okunabilir, ancak 1920x1200 çözünürlüğe sahip bir tablette, görüntü ortada çok küçük bir kare olarak görünecektir. Peki çözüm nedir? Her biri farklı bir yoğunluk kümesi için 4 farklı 9 yama başlatıcısı görüntüsü tasarlayın. Büzülme olmayacağından emin olmak için, her yoğunluk kategorisi için en düşük ortak çözünürlükte tasarlamanız gerekir. Burada küçülme istenmeyen bir durumdur, çünkü 9-yama sadece gerdirmeyi açıklar, bu nedenle bir küçülme işleminde küçük metinler ve diğer öğeler okunabilirliği kaybedebilir.
Her yoğunluk kategorisi için en küçük, en yaygın çözünürlüklerin bir listesi:
- xlarge (xhdpi): 640x960
- büyük (hdpi): 480x800
- orta (mdpi): 320x480
- küçük (ldpi): 240x320
Bu nedenle, yukarıdaki çözünürlüklerde dört açılış ekranı tasarlayın, tuvalin etrafına 1 piksellik şeffaf bir kenarlık koyarak görüntüleri genişletin ve hangi satırların / sütunların gerilebilir olacağını işaretleyin. Bu görüntülerin yoğunluk kategorisindeki HERHANGİ bir cihaz için kullanılacağını unutmayın , bu nedenle ldpi görüntünüz (240 x 320) küçük görüntü yoğunluğuna (~ 120 dpi) sahip ekstra büyük bir tablette 1024x600 boyutuna kadar uzatılabilir. Bu nedenle, 9 yama, bir açılış ekranı için bir fotoğraf veya karmaşık grafikler istemediğiniz sürece, germe için en iyi çözümdür (tasarımı oluştururken bu sınırlamaları unutmayın).
Yine, bu uzamanın gerçekleşmemesinin tek yolu, her çözünürlüğü bir ekran (veya yüksek / düşük yoğunluklu cihazlarda görüntülerin çok küçük / büyük olmasını önlemek istiyorsanız, her çözünürlük yoğunluğu kombinasyonu için bir ekran) tasarlamak veya anlatmaktır. görüntünün gerilmemesi ve gerilmenin meydana geldiği her yerde arka plan renginin görünmemesi (Android motoru tarafından oluşturulan belirli bir rengin muhtemelen renk profilleri nedeniyle photoshop tarafından oluşturulan aynı renkten farklı görüneceğini unutmayın).
Umarım bu bir anlam ifade eder. İyi şanslar!