İlkay İlknur

just a developer...

Windows Phone 7 Uygulamalarında Orientation Kontrolü

Merhaba Arkadaşlar,

Bu yazımızda Windows Phone 7 uygulamalarında telefonun oryantasyonun değiştiğinde uygulamamızın bu değişime nasıl cevap verebileceği konusunu incelemeye çalışacağız. Tabi oryantasyon kelimesini okurken tam olarak neyi kastetmek istediğimi anlamamış olabilirsiniz. Orientation kelimesinin Türkçe karşılığı olarak kullanmaya çalıştığım bu kelimede aslında telefonun yönünün çevrilerek uygulama içerisindeki ekranların farklı kullanım şekillerini almasını kastetmeye çalışmaktayım.

İlk olarak örneğimize hızlı bir şekilde yeni bir Windows Phone Application yaratarak başlayıp hiç bir değişiklik yapmadan açılan uygulamayı çalıştırarak başlıyoruz. :) Emülatörümüz açıldıktan sonra emülatörün sağ tarafına baktığımızda emülatör üzerinde bir takım değişiklikleri yapmamız için bulunan butonları görüyor olacağız.

Bu butonlar emülatörümüzü sağa ve sola çevirerek bir telefonun olası kullanım durumlarını test etmemizi sağlamakta. Bu nedenle bu yazımız boyuncu bu butonları oldukça fazla kullanıyor olacağız. Şimdi emülatörümüzü kapatmadan telefonun sol tarafa çevrilmiş haline baktığımızda uygulamamız nasıl bir davranış sergilemekte bunu aşağıdaki resimden inceleyelim.

Resme baktığımızda aslında uygulamadan beklediğimiz davranışı görememekteyiz. Normalde baktığımızda başlıkların da dönüp ekranın yeni durumuna göre tekrardan konumlanması gerekirdi. İsterseniz hemen XAML tarafına geçelim ve bu durum neden oluştu incelemeye çalışalım.

Aslında XAML tarafına geçtiğimizde herşey yukarıdaki resimde gördüğümüz attributelerde gizli. SupportedOrientations attribute’nde sayfamızın hangi tür yönleri desteklediğini belirtmekteyiz. Böylece sayfamız dikey mi yatay mı yoksa her iki şekilde kulanımı da destekleyecek mi konularında bildirimimizi bu attribute yardımıyla gerçekleştirebiliyoruz. Orientation attribute ile de sayfamızın ilk olarak hangi konumda olduğunu belirtebilmekteyiz. Bu tage göre sayfamız ilk açıldığında belirttiğimiz yöne doğru açılmaktadır.

Şimdi isterseniz SupportedOrientations attribute değerini PortraitorLandscape olarak değiştirelim ve yukarıda gerçekleştirdiğimiz senaryoyu baştan canlandıralım ve bakalım sonuç ne olacak ?

Evet şimdi uygulamamız istediğimiz şekilde bir davranış sergiledi. İşte bu şekilde uygulamamızdaki sayfa yönlerini dilediğimiz şekilde ayarlayabilmekteyiz. Peki cihazın yönü değiştirildiğinde haberimiz olabilir mi acaba ? Mesela bir resmi yada videoyu gösterdiğimizi düşünürsek telefon yatay konuma getirildiğinde ilgili medyayı nasıl tam ekran ekran yapabiliriz. Bunun için bize sayfanın yönünün değiştiğine dair bir event gerekli. Bu noktada da yardımıza OrientationChanged eventi yetişmekte. Böylece bu event her tetiklendiğinde sayfamızın yönünü kontrol edebilir ve duruma göre istediğimiz işlemleri gerçekleştirebiliriz.

Bir sonraki yazımızda görüşmek üzere,

Hoşçakalın,



Yorum Gönder