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
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.
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í.
Ctrl + F12
To bude simulovat otáčení mobilu.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.
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