Güçlü ve dinamik bir kullanıcı arayüzü için Android uygulamalarınızdaki parçaları nasıl kullanabilirsiniz?

Yazar: John Stephens
Yaratılış Tarihi: 28 Ocak Ayı 2021
Güncelleme Tarihi: 19 Mayıs Ayı 2024
Anonim
Güçlü ve dinamik bir kullanıcı arayüzü için Android uygulamalarınızdaki parçaları nasıl kullanabilirsiniz? - Uygulamaların
Güçlü ve dinamik bir kullanıcı arayüzü için Android uygulamalarınızdaki parçaları nasıl kullanabilirsiniz? - Uygulamaların

İçerik


Not: Bu makale Android geliştirme ve Java'nın temellerini bildiğinizi varsayar. Zaten temel düzenler oluşturabilmeli ve görünümleri kullanabilmeli, tıklamada ve findViewByID. Bu kavramları kavrarsanız, parçaları kullanmayı öğrenmeye hazırsınız!

Parçalar, uygulama tasarımına modüler bir şekilde yaklaşmanıza izin veren iyi bir Android UI'nin güçlü bir özelliğidir. Bunlar, tüm düzenleri içerebilen ve kendilerine eşlik eden Java kodlarıyla birlikte gelen farklı görünümlerdir. Kullanıcı arayüzünüzü bu şekilde yıkarak, kullanıcılarınızın daha kolay anlayabileceği daha mantıklı düzenler oluşturabilirsiniz. Etkinlikten ayrılmaları gerekmeden onlara ek bilgi ve kontroller sağlayabilirsiniz.

Ayrıca bakınız: Sorunsuz parçalar: Android’in Gezinme Mimarisi Bileşenini Kullanma

Fragmanlar, uygulama tasarımınızda size daha fazla seçenek sunar ve kullanıcı deneyimini önemli ölçüde artırabilir


Dahası, parçaların içinde birden fazla olabileceğiniz sınıflar ve nesneler gibi davranıyor olması örnekleri Aynı parçanın. Bu, kodu tekrar yazmak zorunda kalmadan aynı düzeni tekrar tekrar kullanabileceğiniz, hatta iki farklı sürümü yan yana gösterebileceğiniz anlamına gelir.

Kısacası, bu henüz bir diğeri Android uygulamalarıyla ilgili görünüşte bitmeyen yapılacaklar listesine geldiğinde öğrenmesi gereken şey, uygulama tasarımınızda size oldukça fazla seçenek sunabilecek ve kullanıcı deneyimini önemli ölçüde artıracak bir şeydir - alışmak için harcadığınız zamandan daha değerli .

İlk Android parçanızı nasıl oluşturabilirsiniz?

Öyleyse, başka türlü bir anlam ifade etmeyen parçaları ile ne yapabiliriz?

Belki de bir dosya listemiz var - belki bu bir resim galerisidir - ve bir açıklama göstermek ve kullanıcıya silmek veya paylaşmak için seçenek sunmak istiyoruz. Bu tarz bir şey. Onları her seferinde ayrı bir etkinlik kullanarak yeni bir "Açıklama" sayfasına gönderebiliriz, ancak parçaları kullanırsanız onları daha az sıkıcı olacak bir sayfada tutabiliriz.


Android Studio'yu açın ve rasgele görüntülerin bir listesini oluşturun. activity_main.xml. Resimlerini kullanıyorum Dragon Ball Süper çünkü ben bir ineğim ve bilgisayarımda buralarda yatarım…

Şimdi ilk parçamızı yaratacağız.

Bunu yapmak için, gidilecek Dosya> Yeni> Parça. Bunu yaparken MainActivity.java'nın solda seçilmesi gerekiyor ve şimdilik bir 'boş' parça seçiyor olacaksınız. Ardından, sizin için 'Açıklama' olarak adlandırdığımız yeni tasarım için bir ad seçebileceksiniz. Altındaki iki kutunun işaretini kaldırın - şu anda buna ihtiyacımız yok.

Bu yapıldıktan sonra, şimdi sadece Description.java adlı yeni bir java dosyasına değil, fragment_description.xml adlı yeni bir düzen dosyasına da sahip olacaksınız - tıpkı yeni bir sınıf oluşturmuş gibi! Bu, yeni parçanızla birlikte gelen kodu kendi ayrı java dosyasına yerleştireceğiniz anlamına gelir.

Düzenler, görünümler ve kod ekleme

İyi haber, parçaları kullandığımız zaman görünüm ve düzen eklememiz bizim için çok kolay. Bunu, fragment_timer.xml dosyasını düzenleyerek normalde yaptığımız gibi yapacağız.

Yeniden doğrusal bir düzen kullanalım ve bu sefer bazı kontroller ve açıklayıcı metinler ekleyelim. Şimdilik buraya bir şey yapıştırabilirsin.

Öyleyse şimdi sıradaki soru şudur: Bunu aslında uygulamanızda nasıl göstereceksiniz?

Bunu, parçası başka bir görünümde yaptığınız gibi etkinliğe ekleyerek yapabilirsiniz. Bu nedenle, activity_main.xml dosyasına gidin ve görünümü ekranın bir kısmını kaplayacak şekilde ekleyin - belki de aşağıdan yukarıya.

Benim yaptığım gibi yapmak istiyorsanız, dikey bir doğrusal mizanpaj kullandım ve tüm görüntülere bir ağırlık 1 ve fragmana 2 ağırlık verdim.

Önizlemenin size gerçek parçayı göstermediğini fark edeceksiniz, sadece bir yer tutucu. Aynı şekilde, Android'in nerede bulacağını bilmesi için, parçanın adını XML'e dahil etmek zorunda olduğumu fark ettim. Ayrıca her parça için bir kimliğe ihtiyacınız var.

Kod

Açıklandığı gibi, parçaları kullanmamız gereken kod kendi java dosyasında olacak. Bu durumda, bu Description.java dosyasıdır.

Bu sayfayı kontrol ederseniz, bir kurucu (bir nesne oluşturan herhangi bir sınıfta olduğu gibi) ve denilen bir yöntem olduğunu göreceksiniz. onCreateView. Bu yöntem, xml'nin bu görüşü şişirmek için kullanıldığı ve aynı zamanda her zamanki eşdeğerinizdir. onCreate standart bir aktivitede yöntem.

Çoğunlukla, burada normalde yaptığınız gibi işleri yapabilirsiniz. findViewByID çalışır ve metni vb. değiştirmek için kullanabilirsiniz. ancak referansı biraz farklı almanız gerekir. Okuyan satırı değiştirin:

inflater.inflate komutunu döndürür (R.layout).fragment_description, konteyner, yanlış);

Kime:

V = inflater.inflate (R.layout).fragment_description, konteyner, yanlış);

Ve sonra kullanın:

v.findViewByID.

Artık görünümlerinize normalde yaptığınız gibi erişebilirsiniz:

public View onCreateView (LayoutInflater inflater, ViewGroup kabı, Bundle savedInstanceState) {Görüntüle v = inflater.inflate (R.layout).fragment_description, konteyner, yanlış); Düğme okButton = v.findViewById (R.id.tamam) ;; Düğme paylaşımıButton = v.findViewById (R.id.Pay); okButton.setOnClickListener (yeni View.OnClickListener () {public void onClick (Görünüm v) {Tost.makeText(getActivity (), "Tamam!", Tost.LENGTH_LONG ).göstermek(); }}); shareButton.setOnClickListener (yeni View.OnClickListener () {genel geçersiz onClick (Görünüm v) {Tost.makeText(getActivity (), "Paylaşılıyor ...", Tost.LENGTH_LONG ).göstermek(); }}); dönüş v; }}

Katları örnekleri olan parçaları kullan

Kolaylaştırılmış UI oluşturmanın ve parçaları kullandığımız zaman kod oluşturmanın ne kadar kolay olduğunu görebilirsiniz. Düzenler-içine mizanpajları kullanmak ve daha sonra tek bir Java dosyasında çok fazla tıklamayı tıklamak. Dahası, bu "modüler" yaklaşımın, bu görüşü etkinlikler boyunca ve hatta menüler ve diğer dinamik konumlarda kullanmanıza izin vermesidir.

Fakat en güzel kısım, hepsi aynı anda mevcut olan bu çok aynı parçanın birden fazla örneğine sahip olmanızdır.

Bunu yapmak kolaydır: sadece birden fazla görünüm ekler ve aynı kodla şişirirsiniz.

Şimdi umarım parçaları kullanma gücünün bir kısmını görmeye başlayabilirsiniz: her birinin hemen altında ayrıntı ve kontrollerin bulunduğu bir Geri Dönüşüm Görünümü'ne (kaydırma listesi) sahip olduğunuzu hayal edin. Her seferinde tamamen yeni bir düzen oluşturmanıza gerek kalmaz ve kullanıcı resmi tıklatana kadar görünümleri gizleyebilirsiniz!

Dahası, programlı olarak yeni parçalar da oluşturabilirsiniz. İhtiyacınız olan tek şey parçanın düzeninize girmesi için bir yer - örneğin çerçeve düzeni (ki ben arayacağım) fragmentTarget) ve sonra aşağıdakileri yapabilirsiniz:

Fragment AddedFragment = new Açıklama (); FragmentTransaction işlem = getSupportFragmentManager (). BeginTransaction (); (R.id transaction.replace.fragmentTarget, EklendiFragment); transaction.addToBackStack (boş); transaction.commit ();

Gerekli sınıfları aldığınızdan emin olun - kodunuzdaki parçaları kullanmaya çalıştığınızda sizden istenir. Sadece 'v4' yazan en iyi seçeneği seçtiğinizden emin olun.

Programlı olarak parça ekleyebilmek önemlidir çünkü bu, dinamik bir görüntü listesi (indirdiğimiz, belirli bir klasörde bulunan vb.) Oluşturabileceğimiz ve ardından hemen bizim için detayları açabileceğimiz anlamına gelir.

Böylece, bu yeni örnekte, ikinci parça programsal olarak eklenmiştir.

Sonunda, nerede olduklarına bağlı olarak fragmanlarınızın görünümünü değiştirmek istediğinizde kendinizi bulabilirsiniz. İyi haber, fragmanı oluştururken bir kimliği paket olarak geçirip bu değeri diğer uca çıkararak bunu kolayca yapabilmenizdir.

MainActivity.java'da:

Bundle bundle = new Bundle (); bundle.putInt ("ID", 1); addedFragment.setArguments (demet);

Ve sonra Description.java’ya ekleyin:

int eyeD = 0; Bundle bundle = this.getArguments (); if (bundle! = null) {eyeD = bundle.getInt ("ID", 0); } anahtar (eyeD) {durum 1:…

Daha sonra - örneğin - uygulamanızın her resim için farklı notlar göstermesini sağlayabilirsiniz.

Yorumları kapatma

Demek parçaları böyle kullanıyorsun. Umarım temelleri kavrarsınız ve bu yazı size devam edebileceğiniz ve gerisini anlayabileceğiniz konusunda yeterince bilgi vermiştir. Daha da önemlisi, umarım size parçaların olası kullanımlarından ve akıllı uygulama tasarımı için sundukları potansiyellerden bazılarını göstermiştir.

Çalışmakta olan başka bir fragman örneği görmek istiyorsanız, özel bir başlatıcı oluşturma konusundaki son yayınımı kontrol ettiğinizden emin olun!

Android Geliştirme:

  • Sadece 7 dakikada Android için bir VR uygulaması nasıl oluşturulur
  • Google Asistan için kendi İşleminizi oluşturun
  • Root Android: Bilmeniz gereken her şey!
  • Bir uygulamanın anatomisi: Aktivite yaşam döngülerine giriş
  • Android Jetpack: Son duyurular Android Destek Kütüphanesi için ne anlama geliyor?

OnePlu, Hinditan'daki Almond OnePlu 7 Pro çıkış tarihini açıkladı. OnePlu, e-pota yoluyla aldığımız bir baın açıklamaında, telefonun 14 Haziran'da atışa çıkacağını ve hem &...

Android 10 beta 6 yaklaşık bir ay önce indi. Bugün, OnePlu Google’ın altıncı betaına dayanan beşinci OnePlu 7 ve OnePlu 7 Pro Android 10 geliştirici önizlemeini kullanıma undu....

Sizin Için Makaleler