Kullanıcı Arayüzleri Oluşturma
Kullanıcı Arayüzleri Oluşturma ve Kontrolleri Kullanma
Şimdiye kadar, Android’in temellerini ele aldık ancak kullanıcı arayüzüne (UI) dokunmadık. Bu bölümde, kullanıcı arayüzlerini ve kontrolleri tartışacağız.
Android’de UI geliştirmenin genel felsefesini tartışarak başlayacağız, ardından Android SDK ile birlikte gelen ortak UI kontrollerini açıklayacağız. Ayrıca yerleşim yöneticilerini ve görünüm bağdaştırıcılarını tartışacağız. Android kullanıcı arayüzlerinde hata ayıklamak ve optimize etmek için kullanılan bir araç olan Hiyerarşi Görüntüleyici aracını tartışarak bitireceğiz.
Android’de Kullanıcı Arayüzü Geliştirme
Android’de kullanıcı arayüzü geliştirme eğlencelidir. Eğlenceli çünkü diğer bazı platformlardaki çekici olmayan özellikler Android’de yok. Örneğin Swing, Java uygulamalarının yanı sıra masaüstü uygulamalarını da desteklemelidir. Bu nedenle, Java Foundation Classes (JFC) o kadar çok işlevsellik içerir ki, kullanımı sinir bozucu ve gezinmesi zordur.
JavaServer Faces (JSF) başka bir örnektir. Web uygulamaları oluşturmak için kullanılan yaygın bir çerçeve olan JSF, aslında JavaServer Sayfaları (JSP) ve sunucu uygulamalarının üzerine inşa edilmiştir. Bu nedenle, JSF ile çalışmaya başlamadan önce tüm temel çerçeveleri bilmeniz gerekir.
Neyse ki, diğer platformların taşıdığı bu tür bagajlar Android’de yok. Android ile, sınırlı sayıda kullanıma hazır denetim içeren basit bir çerçeveye sahibiz. Kullanılabilir ekran alanı genellikle sınırlıdır. Bu, kullanıcının genellikle belirli bir eylem yapmak istemesi gerçeğiyle birleştiğinde, iyi bir kullanıcı deneyimi sunmak için kolayca iyi bir kullanıcı arabirimi oluşturmamıza olanak tanır.
Android SDK, uygulamanız için kullanıcı arabirimleri oluşturmak üzere kullanabileceğiniz bir dizi denetimle birlikte gelir. Diğer SDK’lara benzer şekilde Android SDK, metin alanları, düğmeler, listeler, ızgaralar vb. sağlar. Ek olarak Android, mobil cihazlar için uygun olan bir dizi kontrol sağlar.
Birinci sınıfın adından da anlaşılacağı gibi, View sınıfı genel amaçlı bir View nesnesini temsil eder. Android’deki ortak kontroller sonuçta View sınıfını genişletir.
ViewGroup da bir görünümdür, ancak diğer görünümleri de içerir. ViewGroup, düzen sınıfları listesi için temel sınıftır. Android, Swing gibi, kontrollerin bir kapsayıcı görünümünde nasıl düzenlendiğini yönetmek için düzenler kavramını kullanır. Göreceğimiz gibi düzenleri kullanmak, kullanıcı arayüzlerimizdeki kontrollerin konumunu ve yönünü kontrol etmemizi kolaylaştırıyor.
Kullanıcı arayüzü örnekleri
Kullanıcı arayüzü nedir
Kullanıcı arayüzü Tasarımı
Kullanıcı arayüzü tasarımı Nedir
Kullanıcı Arayüzü Tasarımı örnekleri
Kullanıcı arayüz tasarım programları
Donanım arayüzü
Kullanıcı arayüzü tasarımı maaş
Android’de kullanıcı arayüzleri oluşturmak için çeşitli yaklaşımlar arasından seçim yapabilirsiniz. Kullanıcı arayüzlerini tamamen kod içinde oluşturabilirsiniz. Kullanıcı arabirimlerini XML’de de tanımlayabilirsiniz. Hatta ikisini birleştirebilirsiniz; kullanıcı arabirimini XML’de tanımlayabilir ve ardından kodda ona başvurabilir ve değiştirebilirsiniz. Bunu göstermek için, bu üç yaklaşımın her birini kullanarak basit bir kullanıcı arayüzü oluşturacağız.
Başlamadan önce, bazı terminoloji tanımlayalım. Bu kitapta ve diğer Android literatüründe, kullanıcı arabirimi geliştirmeye ilişkin tartışmalarda görünüm, kontrol, pencere öğesi, kapsayıcı ve düzen terimlerini bulacaksınız. Genel olarak Android programlama veya UI geliştirme konusunda yeniyseniz, bu terimlere aşina olmayabilirsiniz. Başlamadan önce bunları kısaca açıklayacağız.
Örnek programları tartışırken bu düzen hiyerarşisine başvuracağız. Şimdilik, uygulamanın bir etkinliği olduğunu bilin. Etkinlik için kullanıcı arabirimi üç kapsayıcıdan oluşur: bir kişinin adını içeren bir kap, adresi içeren bir kap ve alt kaplar için bir dış üst kapsayıcı.
İlk örnek, kullanıcı arayüzünün tamamen kodla oluşturulmasını gösterir. Bunu denemek için, MainActivity adlı bir aktivite ile yeni bir Android projesi oluşturun ve ardından Kodu Liste 4-1’den MainActivity sınıfınıza kopyalayın.
Listelemede gösterildiği gibi, aktivite üç LinearLayout nesnesi içerir. Daha önce de belirttiğimiz gibi, düzen nesneleri, nesneleri ekranın bir bölümü içinde konumlandırma mantığı içerir. Örneğin bir LinearLayout, kontrollerin dikey veya yatay olarak nasıl düzenleneceğini bilir. Düzen nesneleri, diğer düzenler dahil olmak üzere her türlü görünümü içerebilir.
nameContainer nesnesi iki TextView denetimi içerir: biri Name: etiketi için ve diğeri gerçek adı tutmak için. addressContainer ayrıca iki TextView denetimi içerir. İki kap arasındaki fark, nameContainer’ın yatay olarak düzenlenmesi ve addressContainer’ın dikey olarak düzenlenmesidir.
Bu kapların her ikisi de etkinliğin kök görünümü olan parentContainer içinde yaşar. Kaplar oluşturulduktan sonra etkinlik, setContentView(parentContainer) öğesini çağırarak görünümün içeriğini kök görünüme ayarlar.
Etkinliğin kullanıcı arabirimini oluşturma zamanı geldiğinde, kök görünüm kendisini oluşturması için çağrılır. Daha sonra kök görünüm, çocuklarını kendilerini işlemeleri için çağırır ve alt denetimler, tüm kullanıcı arabirimi işlenene kadar çocuklarını çağırır ve bu şekilde devam eder.
Listelemede gösterildiği gibi, birkaç LinearLayout kontrolümüz var. Aslında, ikisi dikey olarak, biri yatay olarak düzenlenmiştir. nameContainer yatay olarak yerleştirilmiştir. Bu, iki TextView denetiminin yatay olarak yan yana göründüğü anlamına gelir.
addressContainer dikey olarak yerleştirilmiştir, bu da iki TextView kontrolünün üst üste istiflendiği anlamına gelir. parentContainer da dikey olarak yerleştirilmiştir, bu nedenle nameContainer addressContainer’ın üzerinde görünür. Dikey olarak yerleştirilmiş iki kapsayıcı arasındaki ince bir farka dikkat edin: addressContainer ve parentContainer. parentContainer, ekranın tüm genişliğini ve yüksekliğini kaplayacak şekilde ayarlanmıştır.
Şimdi aynı kullanıcı arayüzünü XML’de oluşturalım. XML düzen dosyalarının, layout adlı bir klasör içindeki kaynaklar (/res/) dizini altında depolandığını hatırlayın. Bu örneği denemek için, test.xml adlı bir XML dosyası oluşturun ve onu düzen klasörünün altına yerleştirin. Yeni bir etkinlik oluşturun ve onCreate() yöntemini geçersiz kılın. onCreate() yönteminde, temel sınıfın onCreate() yöntemini çağırın ve ardından setContentView(R.layout.test) öğesini seçin.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)