JavaveAndroidHakkında

Android Yazılım geliştirme konusunda sürekli bilgi akışı sağlayan, soru-cevaplar ile öğrenme gerçekleştirmeyi amaçlayan bir eğitim süreci planlıyoruz.

2 Mart 2015 Pazartesi

Android-Farklı Aygıtları Desteklemek-Ekran Desteği

15:22

Farklı Ekran Desteği


                Android, cihaz ekranlarını iki genel özelliğe göre sınıflandırır: ebat ve yoğunluk(size and density). Uygulamanızın ekran tasarımında dikkat etmeniz iki temel unsur da bunlardır. Uygulamanızın farklı ebat ve yoğunluklar için farklı kaynaklara sahip olmasını sağlamalısınız.
                4 farklı ebat kategorisi vardır: small,normal,large,xlarge ,
                4 farklı yoğunluk kategorisi vardır: low(ldpi), medium(mdpi), high(hdpi), extra high(xhdpi) ,
Kullanacağınız farklı ekranlar için farklı layout’lar ve bitmap’ler sağlarken farklı kaynakların hepsini, tıpki dil desteğinde olduğu gibi farklı klasörlere yerleştirmelisiniz.
                Ayrıca landscape(yatay) veya portrait(dikey) ekran durumlarını da dikkate almanız gerekmektedir.

Farklı Layoutlar Oluşturmak


                Farklı ekran ebatlarında kullanıcı deneyimini iyileştirmek için, desteklemek istediğin her ekran boyutunda benzersiz XML Layout’lar tasarlamanız gerekir. Her bir layout, -<screen_size> eki ile uygun kaynak klasöründe yer almalıdır. Örnek, büyük ekranlar için tasarlayacağınız Layout res/layout-large dizininde yer almalıdır.
NOT:
                Android, tıpki dil desteğinde olduğu gibi bu işlemi de otomatik olarak gerçekleştirir. Bu nedenle kullanıcı deneyimi açısından ebat konusundan çok tasarımınıza önem göstermeniz yerinde bir davranış olacaktır.( Tasarımda kullandığınız View öğelerinin konumları ve boyutlarının kullanıcı açısından çok önemli olmasını dikkate almak)
Large ekran desteğine sahip bir projenin klasör yapısı;
ÖRNEK:
MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml
Kaynak dosyalarımızın isimleri tamamen aynı olmalıdır. Tabii ki içerikleri ise hedef ekranlar için farklı olacaktır.

Kaynak kodunda XML arayüzüne referans vermek
ÖRNEK:
@Override

 protected void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     setContentView(R.layout.main);

}

Android dil desteğinde olduğu gibi otomatik olarak uygun kaynak dosyasını ekrana çizecektir. Bunun nasıl yapıldığını merak ediyorsanız. Providing Resources bölümüne göz atabilirsiniz.
Landscape(yatay) görünüm için kaynak dosyasına sahip bir proje yapısı:
ÖRNEK:
MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml
layout/main.xml varsayılan olarak portrait (dikey) tasarımı ifade eder.
Eğer her iki duruma sahip, landscape ve large ekran desteği sağlıyorsanız;
MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml
Yukarıdaki şekle sahip bir proje yapınız olmalıdır.
NOT:
Android 3.2 ve üzeri sürümler, ekran ebatları için belirli ekran tasarımları tanımlarken density-independent pixels yöntemiyle minimum genişlik ve yükseklik tabanlı gelişmiş yöntemler sunar. Bu bölümde bu teknikten bahsedilmemektedir. Bunun için Designing for Multiple Screens sayfasını ziyaret edebilirsiniz.

Farklı Bitmaps Oluşturmak


Uygulamanızın içerisinde her zaman, sınıflandırılmış yoğunluk demetine uygun Bitmap kaynakları sağlamalısınız. Bu demet, small, medium,high ve extra-high density’dir. Bu demet aracılığı ile tüm ekran yoğunluklarında en iyi sonucu elde etmeniz sağlanır.
Bu görselleri oluştururken, ham kaynağınız ile çalışmaya başlarken aşağıdaki ölçeklerde görseller üretmelisiniz.
·         Xhdpi : 2.0
·         Hdpi: 1.5
·         Mdpi: 1.0 (baseline-temel)
·         Ldpi:0.75
Bu ifadeler şu anlama gelmektedir. Eğer xhdpi cihazlar için 200x200 bir görsel hazırlıyorsanız; aynı kaynaklar farklı ölçekler için;
·         150x150 hdpi
·         100x100 mdpi
·         75x75 ldpi

Şeklinde üretilmelidir. Burada türetilen kaynak bitmaplar diğer uygulamalarda olduğu gibi uygun dizinlere yerleştirilmelidir.
ÖRNEK:
MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png
XML tasarımda veya kaynak kodundan dilediğiniz zaman bu kaynaklara referans gösterebilirsiniz. Sistem uygun ölçeği otomatik olarak getirecektir.
NOT:
Ldpi Low-Density her zaman gerekli değildir. Hdpi tasarımları sisteme sağladığınızda, sistem bu kaynağı otomatik olarak ½ oranında ölçekleyerek ldpi ekranlara uygun hale getirir.
Icon oluşturmak ve diğer Bitmap fikirleri için Iconography Design Guide sayfasını inceleyiniz.

Soru ve Görüşleriniz için: AndroidVeJava

2 Mart 2015 Pazartesi

Android-Farklı Aygıtları Desteklemek-Ekran Desteği

Farklı Ekran Desteği


                Android, cihaz ekranlarını iki genel özelliğe göre sınıflandırır: ebat ve yoğunluk(size and density). Uygulamanızın ekran tasarımında dikkat etmeniz iki temel unsur da bunlardır. Uygulamanızın farklı ebat ve yoğunluklar için farklı kaynaklara sahip olmasını sağlamalısınız.
                4 farklı ebat kategorisi vardır: small,normal,large,xlarge ,
                4 farklı yoğunluk kategorisi vardır: low(ldpi), medium(mdpi), high(hdpi), extra high(xhdpi) ,
Kullanacağınız farklı ekranlar için farklı layout’lar ve bitmap’ler sağlarken farklı kaynakların hepsini, tıpki dil desteğinde olduğu gibi farklı klasörlere yerleştirmelisiniz.
                Ayrıca landscape(yatay) veya portrait(dikey) ekran durumlarını da dikkate almanız gerekmektedir.

Farklı Layoutlar Oluşturmak


                Farklı ekran ebatlarında kullanıcı deneyimini iyileştirmek için, desteklemek istediğin her ekran boyutunda benzersiz XML Layout’lar tasarlamanız gerekir. Her bir layout, -<screen_size> eki ile uygun kaynak klasöründe yer almalıdır. Örnek, büyük ekranlar için tasarlayacağınız Layout res/layout-large dizininde yer almalıdır.
NOT:
                Android, tıpki dil desteğinde olduğu gibi bu işlemi de otomatik olarak gerçekleştirir. Bu nedenle kullanıcı deneyimi açısından ebat konusundan çok tasarımınıza önem göstermeniz yerinde bir davranış olacaktır.( Tasarımda kullandığınız View öğelerinin konumları ve boyutlarının kullanıcı açısından çok önemli olmasını dikkate almak)
Large ekran desteğine sahip bir projenin klasör yapısı;
ÖRNEK:
MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml
Kaynak dosyalarımızın isimleri tamamen aynı olmalıdır. Tabii ki içerikleri ise hedef ekranlar için farklı olacaktır.

Kaynak kodunda XML arayüzüne referans vermek
ÖRNEK:
@Override

 protected void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     setContentView(R.layout.main);

}

Android dil desteğinde olduğu gibi otomatik olarak uygun kaynak dosyasını ekrana çizecektir. Bunun nasıl yapıldığını merak ediyorsanız. Providing Resources bölümüne göz atabilirsiniz.
Landscape(yatay) görünüm için kaynak dosyasına sahip bir proje yapısı:
ÖRNEK:
MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml
layout/main.xml varsayılan olarak portrait (dikey) tasarımı ifade eder.
Eğer her iki duruma sahip, landscape ve large ekran desteği sağlıyorsanız;
MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml
Yukarıdaki şekle sahip bir proje yapınız olmalıdır.
NOT:
Android 3.2 ve üzeri sürümler, ekran ebatları için belirli ekran tasarımları tanımlarken density-independent pixels yöntemiyle minimum genişlik ve yükseklik tabanlı gelişmiş yöntemler sunar. Bu bölümde bu teknikten bahsedilmemektedir. Bunun için Designing for Multiple Screens sayfasını ziyaret edebilirsiniz.

Farklı Bitmaps Oluşturmak


Uygulamanızın içerisinde her zaman, sınıflandırılmış yoğunluk demetine uygun Bitmap kaynakları sağlamalısınız. Bu demet, small, medium,high ve extra-high density’dir. Bu demet aracılığı ile tüm ekran yoğunluklarında en iyi sonucu elde etmeniz sağlanır.
Bu görselleri oluştururken, ham kaynağınız ile çalışmaya başlarken aşağıdaki ölçeklerde görseller üretmelisiniz.
·         Xhdpi : 2.0
·         Hdpi: 1.5
·         Mdpi: 1.0 (baseline-temel)
·         Ldpi:0.75
Bu ifadeler şu anlama gelmektedir. Eğer xhdpi cihazlar için 200x200 bir görsel hazırlıyorsanız; aynı kaynaklar farklı ölçekler için;
·         150x150 hdpi
·         100x100 mdpi
·         75x75 ldpi

Şeklinde üretilmelidir. Burada türetilen kaynak bitmaplar diğer uygulamalarda olduğu gibi uygun dizinlere yerleştirilmelidir.
ÖRNEK:
MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png
XML tasarımda veya kaynak kodundan dilediğiniz zaman bu kaynaklara referans gösterebilirsiniz. Sistem uygun ölçeği otomatik olarak getirecektir.
NOT:
Ldpi Low-Density her zaman gerekli değildir. Hdpi tasarımları sisteme sağladığınızda, sistem bu kaynağı otomatik olarak ½ oranında ölçekleyerek ldpi ekranlara uygun hale getirir.
Icon oluşturmak ve diğer Bitmap fikirleri için Iconography Design Guide sayfasını inceleyiniz.

Soru ve Görüşleriniz için: AndroidVeJava

2 Mart 2015 Pazartesi

Android-Farklı Aygıtları Desteklemek-Ekran Desteği

Farklı Ekran Desteği


                Android, cihaz ekranlarını iki genel özelliğe göre sınıflandırır: ebat ve yoğunluk(size and density). Uygulamanızın ekran tasarımında dikkat etmeniz iki temel unsur da bunlardır. Uygulamanızın farklı ebat ve yoğunluklar için farklı kaynaklara sahip olmasını sağlamalısınız.
                4 farklı ebat kategorisi vardır: small,normal,large,xlarge ,
                4 farklı yoğunluk kategorisi vardır: low(ldpi), medium(mdpi), high(hdpi), extra high(xhdpi) ,
Kullanacağınız farklı ekranlar için farklı layout’lar ve bitmap’ler sağlarken farklı kaynakların hepsini, tıpki dil desteğinde olduğu gibi farklı klasörlere yerleştirmelisiniz.
                Ayrıca landscape(yatay) veya portrait(dikey) ekran durumlarını da dikkate almanız gerekmektedir.

Farklı Layoutlar Oluşturmak


                Farklı ekran ebatlarında kullanıcı deneyimini iyileştirmek için, desteklemek istediğin her ekran boyutunda benzersiz XML Layout’lar tasarlamanız gerekir. Her bir layout, -<screen_size> eki ile uygun kaynak klasöründe yer almalıdır. Örnek, büyük ekranlar için tasarlayacağınız Layout res/layout-large dizininde yer almalıdır.
NOT:
                Android, tıpki dil desteğinde olduğu gibi bu işlemi de otomatik olarak gerçekleştirir. Bu nedenle kullanıcı deneyimi açısından ebat konusundan çok tasarımınıza önem göstermeniz yerinde bir davranış olacaktır.( Tasarımda kullandığınız View öğelerinin konumları ve boyutlarının kullanıcı açısından çok önemli olmasını dikkate almak)
Large ekran desteğine sahip bir projenin klasör yapısı;
ÖRNEK:
MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml
Kaynak dosyalarımızın isimleri tamamen aynı olmalıdır. Tabii ki içerikleri ise hedef ekranlar için farklı olacaktır.

Kaynak kodunda XML arayüzüne referans vermek
ÖRNEK:
@Override

 protected void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     setContentView(R.layout.main);

}

Android dil desteğinde olduğu gibi otomatik olarak uygun kaynak dosyasını ekrana çizecektir. Bunun nasıl yapıldığını merak ediyorsanız. Providing Resources bölümüne göz atabilirsiniz.
Landscape(yatay) görünüm için kaynak dosyasına sahip bir proje yapısı:
ÖRNEK:
MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml
layout/main.xml varsayılan olarak portrait (dikey) tasarımı ifade eder.
Eğer her iki duruma sahip, landscape ve large ekran desteği sağlıyorsanız;
MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml
Yukarıdaki şekle sahip bir proje yapınız olmalıdır.
NOT:
Android 3.2 ve üzeri sürümler, ekran ebatları için belirli ekran tasarımları tanımlarken density-independent pixels yöntemiyle minimum genişlik ve yükseklik tabanlı gelişmiş yöntemler sunar. Bu bölümde bu teknikten bahsedilmemektedir. Bunun için Designing for Multiple Screens sayfasını ziyaret edebilirsiniz.

Farklı Bitmaps Oluşturmak


Uygulamanızın içerisinde her zaman, sınıflandırılmış yoğunluk demetine uygun Bitmap kaynakları sağlamalısınız. Bu demet, small, medium,high ve extra-high density’dir. Bu demet aracılığı ile tüm ekran yoğunluklarında en iyi sonucu elde etmeniz sağlanır.
Bu görselleri oluştururken, ham kaynağınız ile çalışmaya başlarken aşağıdaki ölçeklerde görseller üretmelisiniz.
·         Xhdpi : 2.0
·         Hdpi: 1.5
·         Mdpi: 1.0 (baseline-temel)
·         Ldpi:0.75
Bu ifadeler şu anlama gelmektedir. Eğer xhdpi cihazlar için 200x200 bir görsel hazırlıyorsanız; aynı kaynaklar farklı ölçekler için;
·         150x150 hdpi
·         100x100 mdpi
·         75x75 ldpi

Şeklinde üretilmelidir. Burada türetilen kaynak bitmaplar diğer uygulamalarda olduğu gibi uygun dizinlere yerleştirilmelidir.
ÖRNEK:
MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png
XML tasarımda veya kaynak kodundan dilediğiniz zaman bu kaynaklara referans gösterebilirsiniz. Sistem uygun ölçeği otomatik olarak getirecektir.
NOT:
Ldpi Low-Density her zaman gerekli değildir. Hdpi tasarımları sisteme sağladığınızda, sistem bu kaynağı otomatik olarak ½ oranında ölçekleyerek ldpi ekranlara uygun hale getirir.
Icon oluşturmak ve diğer Bitmap fikirleri için Iconography Design Guide sayfasını inceleyiniz.

Soru ve Görüşleriniz için: AndroidVeJava