Mobil geliştirmeArşiv

Farklı ekranları desteklemek: kavramlar, ipuçları ve en iyi uygulamalar

Farklı ekranları desteklemek, kullanıcılarınıza kullanıcı dostu uygulamalar sunmanın en önemli konusudur. Kullanıcılarınızın uygulamalarınızı kullanmaya devam etmesini…

Farklı ekranları desteklemek: kavramlar, ipuçları ve en iyi uygulamalar

Farklı ekranları desteklemek, kullanıcılarınıza kullanıcı dostu uygulamalar sunmanın en önemli konusudur. Kullanıcılarınızın uygulamalarınızı kullanmaya devam etmesini istiyorsanız onlara ekranda güzel görünen uygulamalar sunmalısınız. Bu nedenle farklı ekranları desteklemeyle ilgili terim ve kavramlara hâkim olmanız gerekir. Terimler ve kavramlar

  • Ekran boyutu

  • Ekran yoğunluğu

  • Ekran yönü (orientation)

  • Çözünürlük

  • Yoğunluktan bağımsız piksel (dp)

  • Desteklenen ekran aralığı

    • Small

    • Normal

    • Large

    • Xlarge

Bu terimleri Android geliştirici sitesinde “Device Capability” başlığı altında, özellikle “https://developer.android.com/training/multiscreen/screensizes” bağlantısında öğrenebilirsiniz. Farklı ekranlar nasıl desteklenir?

  • Önce manifest dosyasında uygulamanızın hangi ekran boyutlarını desteklediğini açıkça belirtmeniz gerekir

<supports-screens android_smallScreens="true" android_normalScreens="true" android_largeScreens="true" android_xlargeScreens="true" android_anyDensity="true" />

  • Farklı ekran boyutları için farklı düzenler (layout) hazırlamanız gerekir

res/layout/my_layout.xml //layout for normal screen size ("default") res/layout-small/my_layout.xml // layout for small screen size res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra large screen size res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation

  • Farklı ekran yoğunlukları için farklı bitmap drawable'lar sunmanız gerekir

res/drawable-mdpi/my_icon.png // bitmap for medium density res/drawable-hdpi/my_icon.png // bitmap for high density res/drawable-xhdpi/my_icon.png // bitmap for extra high density

  • Yapılandırma niteleyicilerini (configuration qualifiers) kullanın

  • Boyut

    • small, normal, large, xlarge

  • Yoğunluk

    • ldpi, mdpi, hdpi, xhdpi, nodpi, tvdpi

  • Yön

    • land, port

  • En boy oranı

    • Long, notlong

  • Alternatif düzenler ve drawable'lar tasarlayın

En iyi uygulamalar Özetle:

  • XML düzen dosyasında boyut belirtirken wrap_content, match_parent ya da dp birimlerini kullanın

  • Uygulama kodunuzda sabit piksel değerleri kullanmayın

  • Metin boyutu için sp kullanın

  • Sabit kodlamadan (hardcoding) kaçının

  • AbsoluteLayout (kullanımdan kaldırılmıştır) ya da ConstraintLayout kullanmayın

  • RelativeLayout kullanın ya da

  • Uygulamanıza uygun düzenleri arayın

  • Farklı ekran yoğunlukları için alternatif bitmap drawable'lar sağlayın

o res/drawable-mdpi/icon.png //for medium-density screenso res/drawable-hdpi/icon.png //for high-density screens Aytunç BAKIR, Bilgisayar Mühendisi Kaynak: https://developer.android.com