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?
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...
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
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.