İçindekiler
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
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.
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.
Ctrl + F12
Bu, cep telefonunun dönüşünü simüle edecektir.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 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.