Göreceli Düzen - Netbeans ile Android için yerel uygulamaların geliştirilmesi

A Göreli Düzen bileşenleri başka bir bileşene göre konumlarda gösteren bir grup görünümüdür. Her bileşenin konumu, bir düğmenin solu veya belirli bir metin kutusunun altı gibi diğer öğelere göre veya alta, sola veya ortaya hizalı olarak belirtilebilir.
Nasıl kullanılacağını açıklayan Netbeans ile Android için yerel uygulamalar geliştirme eğitimine başlıyoruz. Doğrusal DüzenBu eğitimde, Android'de arayüzler oluşturmak için kapsayıcının Göreli Düzen olduğunu göreceğiz.
Bu yerleşimin temel özelliği, bu konteynerin içindeki bileşenlerin, diğer öğelere göre konumlarını belirlemesidir. Bu şekilde tanımlayabiliriz ki; Düğme bileşeni, metin kutusu bileşeninin altında bulunur ve bu, Etiket bileşenine göre yatay olarak hizalanır..
Öğeleri diğerlerine göre konumlandırmamıza yardımcı olan özellikler arasında şunlar vardır:
android: layout_above: bu özelliği taşıyan bileşenin belirttiğimiz bileşenin üzerinde yer alacağı anlamına gelir.
Örnek:
 
Düğme, belirtildiği gibi etiket öğesinin üzerine yerleştirilecektir. android: layout_above = "@ id / başlık"
android: layout_alignLeft: Bu özelliğe sahip olan bileşenin, belirttiğimiz bileşenin sol kenarı ile çakışması gerektiği anlamına gelir. Sağ kenarla çakışmasını istiyorsak kullanacağız android: layout_alignSağ.
android: layout_toLeftOf: Bu özelliği taşıyan bileşenin belirttiğimiz bileşenin solunda yer alacağı anlamına gelir.
android: layout_toRightOf: Bu özelliği taşıyan bileşenin belirttiğimiz bileşenin sağına konumlandırılacağı anlamına gelir.
android: layout_bottom: Bu özelliği taşıyan bileşenin belirttiğimiz bileşenin altında konumlanacağı anlamına gelir.
Android'de basit bir hesap makinesi örneğini programlayacağız, bu derste Netbeans ve Android SDK'yı, Netbeans ile Android için yerel uygulamalar geliştirme eğitiminde yaptığımız gibi kullanacağız.

LayoutRelativo projesini oluşturacağız


Proje oluşturulduktan sonra layout klasöründeki tasarıma başlayacağız, main.xml dosyasını açıp aşağıdaki kodu kopyalayacağız:
 
Sonra işlevselliği Java'da yazacağız dosyanın içinde MainActivity.java
 paket com.Relative; android.app.Activity'yi içe aktar; android.os.Bundle'ı içe aktar; android.widget'ı içe aktar *; android.view'i içe aktar *; public class MainActivity, Activity'yi genişletir {// Hesaplamalar için // kullanacağımız değişkenleri ve bileşenleri somutlaştırırız private double number, numberrob; özel EditText değeri, valueb; özel TextView sonucu; public void onCreate (Paket saveInstanceState) {super.onCreate (savedInstanceState); // Uygulamayı setContentView (R.layout.main) ana düzeni ile başlatıyoruz; // Her bileşeni bir değişkene atadık this.valora = (EditText) findViewById (R.id.numeroa); this.valorb = (EditText) findViewById (R.id.numerob); this.result = (TextView) findViewById (R.id.result); } public void btSumar (Görünüm görünümü) {// Add function // Her iki değer de sıfırdan büyükse ondalık sayıya dönüştürülür ve if (this.value.getText()).toString() eklenir. )> 0 && this.valorb.getText().toString().uzunluk()>0) {this.numeroa = Double.parseDouble (this.valora.getText().toString()); this.numerob = Double.parseDouble (this.valorb.getText(). toString()); this.result.setText (Double.toString ((this.numeroa + this.numerob))); }} public void btRestar (Görünüm görünümü) {// Çıkarma işlevi // Her iki değer de sıfırdan büyükse, ondalık sayıya dönüştürülür ve eğer (this.value.getText (). ()> 0 && this.valorb.getText () ToString () Uzunluk ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString()); this.numerob = Double.parseDouble (this.valorb.getText(). toString()); this.result.setText (Double.toString ((this.numeroa - this.numerob))); }} public void btMultiplicar (Görünüm görünümü) {// Çarpma işlevi // Her iki değer de sıfırdan büyükse ondalık sayıya dönüştürülür ve if (this.value.getText (). toString () ile çarpılır. ()> 0 && this.valorb.getText () ToString () Uzunluk ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText(). toString()); this.result.setText (Double.toString ((this.numeroa * this.numerob))); }} public void btDivide (Görünüm görünümü) {// Bölme işlevi // Her iki değer de sıfırdan büyükse ondalık sayıya dönüştürülür ve if (this.value.getText ().toString () uzunluğuna bölünür. ()> 0 && this.valorb.getText () ToString () Uzunluk ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText(). toString()); if (this.numerob! = 0) {this.result.setText (Double.toString ((this.numeroa / this.numerob))); }}} public boolean onCreateOptionsMenu (Menü menüsü) {// Şablondan veya düzenden menü oluşturma getMenuInflater () şişirme (R.menu.main, menü); true döndür; }
Uygulamayı çalıştırıyoruz ve emülatör etkinleştirildiğinde aşağıdaki ekranı göreceğiz.

İlk metin kutusu, yalnızca belirttiğimiz gibi 1 veya 5 içeren sayıları kabul eder; bu, tasarım özelliklerindeki rakamların özellik ile kombinasyonları olabilir. android: rakamlar = "12345"
Ayrıca klasöre bir menü ve alt menü ekleyeceğiz. Kaynaklar Menü konfigürasyonuna sahip olacak main.xm adında bir xml dosyası içinde menu adında bir klasör oluşturacağız.
 
Değerler klasörünün içinde dosyadaki menünün adını bildirmeliyiz strings.xml
 Hesap Makinesi - Göreli Düzen Yapılandırması 
Uygulamayı tekrar çalıştırıyoruz ve ardından menü butonuna basıyoruz ve tıklıyoruz. Ayar.

Tamamen işlevsel bir uygulama elde ettik, nasıl çalıştığını test etmek için cep telefonunu çevirirsek ve ekrana uyması gerektiğini basarsak:

Ctrl + F12

Bu, cep telefonunun dönüşünü simüle edecektir.

Düğmeler, özellikler tarafından konumlandırılır, örneğin düğme için çıkar Ekle butonunun üst kenarına hizalayıp eklemenin sağına konumlandırıyoruz.
 android: layout_toRightOf = "@ id / ekle" Android: layout_alignTop = "@ id / ekle"
Yararlı düğme durumunda, eklenecek ilk düğmeye ve çarpmak için son düğmeye göre hizalarız.
 android: layout_toRightOf = "@ id / çarpma" Android: layout_alignTop = "@ id / ekle"
Ardından simgeli bir düğme ekleyeceğiz, bunun için www.Icofinder.com web sitesinden herhangi bir simge indiriyoruz. Simgeyi Kaynaklar klasörüne kopyalayacağız / çekilebilir-mdpi.

Aşağıdaki tasarım kodunu ekliyoruz layout klasörüne gidiyoruz dosyayı açıyoruz ana.xml.
 

Göreceli Düzenlerin temel amacı, tasarım için yukarıda söylediğimiz gibi mümkün olduğunca az iç içe düzen kullanmaktırBu Hesap Makinesi örneğinde, tüm bileşenleriyle birlikte tek bir düzen kullandık. Bu, uygulamanın daha hızlı olmasını sağlayacaktır. Farklı bir düzen ile yerleştirme işlemi yavaşlatır ve uygulamanın performansını düşürür.
A Düzen Göreli hiyerarşi genelde LinearLayout hiyerarşisinden daha az mizanpaj kullanacak ve kullanımı daha kolay olacaktır.. LinearLayout'a göre avantajı, bir bileşenin oryantasyonunu değiştirmek veya ek Görünümler oluşturmak istediğimizde yeni bir LinearLayout oluşturmamız gerektiğidir. Sonuç olarak, herhangi bir karmaşıklığı olan herhangi bir düzen için önce RelativeLayout'u kullanmanız önerilir.
Daha ne LinearLayout Bir bileşene göre yalnızca dikey veya yatay olarak yönlendirilirken, Göreceli Düzen'in daha birçok seçeneği vardır. Bu öğreticiyi beğendiyseniz ve hizmet ettiyseniz, beni takip edin!Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave