Android farklı ekranlarla nasıl başa çıkıyor?

Bir Android cebin ekranı diğerine benzemiyor. Peki bir uygulama hepsinde nasıl aynı görünüyor?

Android'in ekran bilmecesi!

Cep telefonlarının çözünürlükleri, telefondan telefona değişiyor. Bu ise geliştiricilerin simgeler, oyun öğeleri ve arka planları, iletişim kutuları, fotoğraflar gibi nesnelere ne kadar alan ayırmaları gerektiği konusunda bir karar vermesini gerektiriyor.

Google'a göre bu duruma baştan hazırlıklı olmak, Palm'ın yaşadığı sabit çözünürlük sorunlarının da yaşanmaması anlamına geliyor ve uzun dönemde aslında programcıların işine yarıyor.

Google'ın Android'li ceplerden önce geliştirdiği, farklı piksel çözünürlüklerine ve yoğunluklarına yönelik bir çözümü bulunuyor. Android mühendisi Diane Hackborn, Palm'ın yaşadığı sorunlardan şöyle söz ediyor: "Palm cihazlar geleneksel olarak 160x160 ekrana sahiplerdi. Daha sonra Sony 320x320 ekranları ortaya çıkardı. Bu ekranda uygulama tarafından sağlanan koordinatları çiftleyerek yüksek çözünürlükte keskin metin ve şekiller gösterilebiliyordu.

Ancak bu strateji, PalmOS'da QVGA (320x240) çözünürlüklü cihazların tanıtılmasıyla bir sorun haline geldi."

Boyutu 2 kat değil 1.5 kat artırırsanız...

Boyutu 2 kat değil 1.5 kat artırırsanız...
İnç başına piksel yoğunlukları değişebildiğinden, Android programcılarının farklı boyutlarda grafikler oluşturmaları gerekiyor (Görsel: Google)

Hackborn, nesne boyutlarını örneğin 1.5 kat artırmanın, "güzel, keskin çizgileri ekrandaki durumuna göre gri, bulanık bir hale getirdiğini" söylüyor.

Android'in farklı ekran boyutları ve çözünürlüklerle olan zorluğunu aşmak için ise "yoğunluk-bağımsız piksel" (dp veya dip olarak kısaltılıyor) adında bir fikirden faydalanılıyor.

Android'in ekran çözünürlüklerine bu yaklaşımı programcıları biraz zorlayabiliyor. Ancak Merididia Apps programcısı Nick Farina'ya göre Android ile gelen araçları öğrendikten sonra "görünüm düzenlerinin cihazın yatay/dikey durumuna ve farklı ekran boyutlarına göre otomatik olarak yeniden boyutlandırması, sıfır iş gerektiriyor".

Android mühendisi Romain Guy, bir düğmenin genişliğini 100 dip [yoğunluk-bağımsız piksel] olarak belirlediğinizde, düğmenin 320x480 çözünürlüğündeki bir cihaz ile 640x480 çözünürlüğündeki bir cihazda tam olarak aynı boyutta görüneceğini söylüyor.

Uygulamalar her cepte iyi görünüyor

Uygulamalar her cepte iyi görünüyor

Android'in yaklaşımı, teorik olarak herhangi bir inç-başına-piksel yoğunluğunu destekliyor. Ancak işi daha da kolaylaştırmak isteyen Google, Hackborn'un ifadesiyle meydana getirdiği "paketler" ile ldpi (yaklaşık 120dpi), mdpi (160 dpi), hdpi (240 dpi), ve xhdpi (320 dpi) yoğunluklarını sağlıyor.

Google, bu yaklaşımı sürdürebilmek adına geliştiricilerden "farklı ekran yoğunlukları (DPI) için kaynaklar sağlamalarını" öneriyor.

Dolayısıyla programcılar ve grafik tasarımcıların belirli bir ön çalışma yapmaları gerekiyor. Ancak Hackborn, bu şekilde oluşturulan bir uygulamanın Galaxy Nexus'un 316dpi'lik 1280x720 ekranına iyi bir şekilde adapte olduğunu söylüyor.

Dolayısıyla Android'in oldukça esnek bir yaklaşıma sahip olduğunu söyleyebiliriz. Google, en başından beri Android'i farklı üreticilere dağıtmak üzere geliştiriyor ve bunun böyle olması şart.

Apple iPhone'un işletim sistemi iOS'da ise durum oldukça farklı. iOS'da programcılar, önceki iPhone'un çözünürlüğünü iki katına çıkaran iPhone 4 (480x320'den 960x640) ile beraber her piksele dikkat etmeleri gerekiyor. Aynı şekilde, bir sonraki jenerasyon iPad'in 1024x768'lik çözünürlüğünü iki katına çıkararak 2048x1536'ya ulaşağına yönelik birçok işaret bulunuyor.

Okuyucu Yorumları