Skip to main content

Android farkli ekran tipleri icin tasarim yapmak


     Birincisi, Layout seçimi çok önemli.


     Yaptığım araştırmalar sonucunda öğrendim ki AbsouluteLayout belki de en kötü seçim. AbsoluteLayout ile öğeler için kesin bir yer belirleyebilirsiniz. Örn: position x=110px, y=180px; Fakat bu kesinlikle önerilmeyen bir durum çünkü farklı ekranlarda veya farklı çözünürlükteki Android cihazlarda kaymalar olduğunu göreceksiniz. 

     Bunun yerine RelativeLayout kullanmanızı tavsiye ederim. RelativeLayout’ta parent-view’e göre ya da diğer elemanlara göre(relatively – bunlarla bağlantılı) bir pozisyon seçileceği için, istediğiniz tasarıma en yakın görünümü elde etmek mümkün. Layout seçimini hallettikten sonra sıradaki işlem olarak farklı ekran tipleri için tasarım yapmaya geldi.

      Farklı ekran tipleri için tasarım yapmak (res/ folder)


     Android dünyasında çok sayıda ve farklı boyut ve çözünürlükte ekran tipi mevcut. Bunların hepsi için ayrı ayrı tasarım yapmak mümkün değil. Temel olarak üç farklı ekran boyutunu referans alıp(small, medium, large), bunlara göre tasarımlarımızı yaptık. Bildiğiniz gibi bu ekran boyutlarının da kendi içinde farklı çözünürlük (ldpi, mdpi, hdpi, xhdpi, gibi) değerleri mevcut. Burada da yine en orta değer olan mdpi (medium) değerini baz alarak işe başladık.


     * Her ekran boyutu için res/ folder’ın altına main.xml oluşturuyoruz.

res/layout/main.xml                      -> normal (normal ekranlar için) ("default")

res/layout-small/main.xml           -> small (küçük ekranlar için)

res/layout-large/main.xml           -> large (büyük ekranlar için)


     * Ve bu yaptığımız değişikliği Manifest.xml dosyasında da tanımlıyoruz. Manifest’te <support-screen> tag ile hangi ekran tipleri için tasarım yaptığımızı belirtiyoruz.


 <supports-screens

android:largeScreens="false"

android:normalScreens="true"

android:smallScreens="true"

android:anyDensity="false" />


     Bu kodda ”true” olan değerler o ekran tipini desteklediğini; “false” olan değerlerde ise o ekran tiplerini desteklemediğini belirtmiş oluyoruz. Ayrıca  android:anyDensity="false"  değerini yazmamız gerekiyor çünkü bütün çözünürlük değerleri için değil, yukarıda belirttiğim gibi sadece mdpi çözünürlük değeri için tasarım yapmıştık. 

     Tasarım için birkaç tavsiye;

-        Eğer buton ya da eklediğiniz herhangi bir resme(öğeye) boyut tanımlamak isterseniz px (pixel) yerin e dip(device independent pixel) kullanın. Bu sayede bütün ekranlarda aynı boyutu elde etmiş olursunuz 
  
         Uygulamanızı yayınlamadan önce emulator’de farklı ekran boyutları için kendiniz deneyin. Yaptığım uygulamayı buradan deneyebilirsiniz.


     Tasarımla ilgili aklınıza takılan bir şey olursa elimden geldiğince cevaplamaya çalışacağım. Kodda çalışmayan bir yer varsa lütfen bana iletin, beraber düzeltelim.

     Bir sonraki yazıda ise ortada gösterilen -Toast’ta- yazı yerine resim (ya da png, jpg) göstermeyi anlatacağım. Görüşmek üzere.

Comments


  1. Health Is God aims to deliver the best possible health reviews of the supplement collections and other wellness production that range from skincare to brain, muscle, male enhancement and brain health conditions. You, the user are of utmost importance to us, and we are committed to being the portal that sustains your healthy lifestyle. Visit for more- Health is God

    ReplyDelete

Post a Comment

Popular posts from this blog

Vodafone'da Sms Gönderimi için Bakiyeniz Yetersizdir Sorunu Çözüldü

Vodafone'nun sms gönderimi için bakiyeniz yetersizdir Sorunu Çözüldü!.

How to Hack WhatsApp Account Bluestack

How to hack WhatsApp account??? WhatsApp is currently one of the most secure messaging services purely because it works with a particular phone number and requires a certain code.

Simply Hacking Facebook Account with Kali Linux

Hi guys, today I will show you how to hack a Facebook account with  Kali Linux.

EXCELde Belli Satirlari ya da Sütunları Dondurmak, Sabitlemek

Excel'de önemli gördüğümüz üst satır -başlık- kısmını veya sol sutunu sabit tutmak, her sayfada görünmesini sağlamak artık çok kolay.