Začínáme v kurzu Vývoj nativních aplikací pro Android s Netbeans, který vysvětluje, jak používat Lineární rozvrženíV tomto kurzu uvidíme, že kontejner pro vytváření rozhraní v systému Android je Relativní rozložení.
Hlavní charakteristikou tohoto rozvržení je, že součásti, které jsou uvnitř tohoto kontejneru, vyhledají svou polohu ve vztahu k ostatním prvkům. Tímto způsobem můžeme definovat, že Komponenta tlačítka je umístěna pod komponentou textového pole a ta je zase horizontálně zarovnána vzhledem ke komponentě Label.
Mezi vlastnosti, které nám pomáhají umisťovat prvky vůči ostatním, patří:
android: layout_above: to znamená, že komponenta, která má tuto vlastnost, bude umístěna nad komponentou, kterou uvedeme.
Příklad:
Tlačítko bude umístěno nad označeným prvkem, jak je uvedeno android: layout_above = "@ id / název"
android: layout_align Vlevo: To znamená, že součást, která má tuto vlastnost, se musí shodovat s levým okrajem součásti, kterou označíme. Pokud chceme, aby se shodovalo s pravým okrajem, použijeme android: layout_alignRight.
android: layout_toLeftOf: To znamená, že komponenta, která má tuto vlastnost, bude umístěna nalevo od komponenty, kterou označíme.
android: layout_toRightOf: To znamená, že komponenta, která má tuto vlastnost, bude umístěna napravo od komponenty, kterou označíme.
android: layout_bottom: To znamená, že komponenta, která má tuto vlastnost, bude umístěna pod komponentou, kterou uvedeme.
Chystáme se naprogramovat jednoduchý příklad kalkulačky v Androidu, v tomto tutoriálu použijeme Netbeans a Android SDK jako v tutoriálu Vývoj nativních aplikací pro Android s Netbeans.
Vytvoříme projekt LayoutRelativo
Jakmile je projekt vytvořen, začneme s návrhem ve složce rozložení, otevřeme soubor main.xml a zkopírujeme následující kód:
Pak napíšeme funkcionalitu v Javě v souboru MainActivity.java
balíček com.Relative; import android.app.Activity; import android.os.Bundle; importovat android.widget. *; import android.view. *; veřejná třída MainActivity rozšiřuje aktivitu {// Instalováme proměnné a komponenty, které použijeme // pro výpočty soukromé dvojčíslo, numberrob; soukromá hodnota EditText, hodnotab; soukromý výsledek TextView; public void onCreate (Bundle savedInstanceState) {super.onCreate (saveInstanceState); // Aplikaci spustíme s hlavním rozložením setContentView (R.layout.main); // Každou komponentu přiřadíme proměnné this.valora = (EditText) findViewById (R.id.numeroa); this.valorb = (EditText) findViewById (R.id.numerob); this.result = (TextView) findViewById (R.id.result); } public void btSumar (Zobrazit zobrazení) {// Přidat funkci // Pokud jsou obě hodnoty větší než nula, převede se na desítkové číslo a přidá se if (this.value.getText (). toString (). length ( )> 0 && this.valorb.getText (). ToString (). Length ()> 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 (Zobrazit pohled) {// Funkce odečtení // Pokud jsou obě hodnoty větší než nula, je převedeno na desítkové číslo a odečteno, pokud (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 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 (Zobrazit pohled) {// Funkce násobení // Pokud jsou obě hodnoty větší než nula, převede se na desítkové číslo a vynásobí if (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 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 (Zobrazit zobrazení) {// Funkce rozdělení // Pokud jsou obě hodnoty větší než nula, převede se na desetinné číslo a rozdělí se, pokud (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 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 (nabídka) {// Vytvoření nabídky ze šablony nebo rozvržení getMenuInflater (). inflate (R.menu.main, menu); return true; }Spustíme aplikaci a po aktivaci emulátoru se nám zobrazí následující obrazovka.
První textové pole přijímá pouze čísla, která obsahují 1 nebo 5, jak jsme uvedli, což mohou být kombinace číslic ve specifikacích návrhu s vlastností android: digits = "12345"
Do složky také přidáme nabídku a podnabídku Zdroje Vytvoříme složku s názvem menu a uvnitř xml souboru s názvem main.xm, který bude mít konfiguraci nabídky.
Uvnitř složky hodnot musíme deklarovat název nabídky v souboru strings.xml
Kalkulačka - konfigurace relativního rozvrženíZnovu spustíme aplikaci a poté stiskneme tlačítko nabídky a klikneme na Nastavení.
Dosáhli jsme plně funkční aplikace, abychom vyzkoušeli, jak funguje, když otočíme mobil a obrazovku musíme přizpůsobit, stiskneme:
Ctrl + F12
To bude simulovat otáčení mobilu.Tlačítka jsou umístěna podle vlastností, například pro tlačítko Odčítat umístíme napravo od přidávání a zarovnáme s horním okrajem tlačítka pro přidání.
android: layout_toRightOf = "@ id / add" android: layout_alignTop = "@ id / add"V případě užitečného tlačítka jej zarovnáme vzhledem k prvnímu tlačítku, které se má přidat, a k poslednímu tlačítku pro rozmnožování.
android: layout_toRightOf = "@ id / multiply" android: layout_alignTop = "@ id / add"Poté přidáme tlačítko s ikonou, za tímto účelem stáhneme libovolnou ikonu z webu www.Icofinder.com. Ikonu zkopírujeme do složky Resources / drawable-mdpi.
Níže přidáme návrhový kód, přejdeme do složky rozložení, otevřeme soubor main.xml.
Hlavní účel relativních rozvržení, jak jsme řekli výše pro design je použít co nejméně vnořených rozvrženíV tomto příkladu kalkulačky jsme použili jediné rozložení se všemi jeho součástmi. Díky tomu bude aplikace rychlejší. Vnořování s jiným rozložením zpomaluje a snižuje výkon aplikace.
A Rozložení Relativní hierarchie obvykle Bude používat menší množství rozložení a bude mít jednodušší ovládání než hierarchie LinearLayout. Výhodou oproti LinearLayout je, že musíme vytvořit nový LinearLayout pokaždé, když chceme změnit orientaci součásti nebo vytvořit další pohledy. V důsledku toho se doporučuje použít RelativeLayout nejprve pro jakékoli rozložení, které má nějakou složitost.
A co víc Lineární rozvržení je orientován pouze vertikálně nebo horizontálně vzhledem ke komponentě, zatímco Layout Relative má mnoho dalších možností. Pokud se vám tento návod líbil a sloužil vám, sledujte mě!Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod