Android Screen Orientation

Java Kotlin Eğitimi

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız Android Eğitimleri yazı serimizde bu dersimizde Android Screen Orientation ile devam ediyoruz. Nedir bu Screen Orientation kavramı ,ne işe yarar şimdi incelemeye başlayalım.

Screen Orientation da uygulamamızın farklı ekran yönlendirme seçeneklerine ne şekilde tepki vereceğinizi belirleyebiliriz. İlgili Activity sayfamıza ekran yönlendirmesini AndroidManifest.xml den yapabiliriz. Şimdi yönlendirme seçeneklerini inceleyelim.

Java Kotlin Eğitimi

Örnek olması açısından Android Studio da bir örnek oluşturuyoruz. MainActivity sınıfımızın xml layout kısmı aşağıdaki gibidir.

Android Screen Orientation Türleri

  • android:screenOrientation=”portrait”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini portrait olarak belirledik bu şekilde xml layout dizaynı hep dikey şekilde gözükecektir. Ekran yan çevirilse dahi görüntü değişmeyecektir.

AndroidManifest.xml

Ekran çıktısı:

  • android:screenOrientation=”landscape”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini landscape olarak belirledik bu şekilde xml layout dizaynı hep yatay şekilde gözükecektir.

AndroidManifest.xml

Ekran çıktısı:

  • android:screenOrientation=”userPortrait”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini userPortrait olarak belirledik bu şekilde xml layout dizaynı ekranı sadece 180° çevirdiğiniz kadar dönecektir. Api Level 18 ile birlikte kullanılmaya başlandı.

AndroidManifest.xml

Ekran çıktısı:

ilk çalıştığı anda ekran görüntüsü

180°  ekranı çevirdiğimizde ekran görüntüsü

 

  • android:screenOrientation=”reversePortrait”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini reversePortrait olarak belirledik bu şekilde xml layout dizaynı Portrait ekran yönlendirmesinin tam tersi olarak çalışmaktadır.

AndroidManifest.xml

Ekran çıktısı:

  • android:screenOrientation=”reverseLandscape”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini reverseLandscape olarak belirledik bu şekilde xml layout dizaynı landscape ekran yönlendirmesinin tam tersi olarak çalışmaktadır.

AndroidManifest.xml

 

 

 

  • android:screenOrientation=”unspecified”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini unspecified olarak belirledik bu şekilde xml layout dizaynı default olarak bir ekran yönlendirme değeri alır yani sistem yönü kendi seçer. Android cihazlar arası farklılık gösterebilir.

AndroidManifest.xml

 

  • android:screenOrientation=”sensor”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini sensor olarak belirledik bu şekilde xml layout dizaynı  kullanıcının cihazı nasıl tuttuğuna bağlı olarak değişir. Cihazın sensörü tarafından da bu haraket yönü belirlenir. Fakat bazı cihazlar 4 yönü de desteklemeyebilir işte o zaman fullSensor kullanmak gerekir.

AndroidManifest.xml

 

  • android:screenOrientation=”fullSensor”

Aşağıdaki kod yapısına baktığımızda MainActivity sınıfının ekran yönlendirmesini fullSensor olarak belirledik bu şekilde xml layout dizaynı cihazın 4 yöne de haraketi destekler. Bazı cihazlar reversePortrait ve reverseLandscape olarak kullanılmaya çalışıldığında o yönlendirme haraketlerini desteklemeyebilir fakat fullSensor kullanırsanız bahsettiğim gibi bütün haraket yönlerini desteklemiş olursunuz.

AndroidManifest.xml

 

Gördüğünüz gibi bir çok ekran yönlendirme özelliği mevcut fakat özellikle sensor başta olmak üzere bir çoğu oyun geliştirme de kullanılmaktadır, mobil uygulama geliştirirken daha çok portrait ve landscape tercih edilmektedir.

Evet arkadaşlar Android Screen Orientation aşamalarını sizlere detaylıca anlatmaya çalıştım. Ekran yönlendirmeleri çoğu zaman kullandığımız fakat daha detayına girip incelemediğimiz bir konu. Umarım hepiniz için faydalı olmuştur.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

Mobilhanem.com üzerinden anlattığımız android uygulama geliştirme derslerine devam edeceğiz. Konu hakkında sorunuzu yorum alanından sorabilirsiniz. Konu dışı sorularınızı ve tüm yazılımsal sorularınızı sorucevap.mobilhanem.com sitemizden de sorabilirsiniz.

Bir daha ki dersimizde görüşmek dileğiyle..

Alper Beyler

Yüksek Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği
Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği (4/3.30) (2010-2014)
Lisans : Viyana Teknik Üniversitesi / Bilgisayar Bilimleri (2013)

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?