Satura rādītājs
A Relatīvais izkārtojums ir grupas skats, kas parāda komponentus pozīcijās attiecībā pret citu komponentu. Katra komponenta pozīciju var norādīt attiecībā pret citiem elementiem, piemēram, pa kreisi no pogas vai zem noteiktas tekstlodziņa vai līdzināt apakšai, pa kreisi vai centrā.Mēs sākam apmācībā Vietējo lietojumprogrammu izstrāde operētājsistēmai Android ar Netbeans, paskaidrojot, kā lietot Lineārais izkārtojumsŠajā apmācībā mēs redzēsim konteineru, lai izveidotu saskarnes Android, relatīvais izkārtojums.
Šī izkārtojuma galvenā iezīme ir tāda, ka šajā konteinerā esošās sastāvdaļas atradīs savu stāvokli attiecībā pret citiem elementiem. Tādā veidā mēs varam definēt, ka Pogas komponents atrodas zem tekstlodziņa komponenta, un tas savukārt ir izlīdzināts horizontāli attiecībā pret komponentu Iezīme.
Starp īpašībām, kas palīdz mums pozicionēt elementus attiecībā pret citiem, ir:
android: layout_above: tas nozīmē, ka komponents, kuram ir šis īpašums, atradīsies virs mūsu norādītā komponenta.
Piemērs:
Poga tiks novietota virs etiķetes elementa, kā norādīts android: layout_above = "@ id / title"
android: layout_alignLeft: Tas nozīmē, ka komponentam, kuram ir šis īpašums, jāsakrīt ar mūsu norādītās sastāvdaļas kreiso malu. Ja mēs vēlamies, lai tas sakristu ar labo malu, mēs to izmantosim android: layout_alignRight.
android: layout_toLeftOf: Tas nozīmē, ka komponents, kuram ir šis īpašums, atradīsies pa kreisi no mūsu norādītās sastāvdaļas.
android: layout_toRightOf: Tas nozīmē, ka komponents, kuram ir šis īpašums, tiks novietots pa labi no mūsu norādītās sastāvdaļas.
android: layout_bottom: Tas nozīmē, ka komponents, kuram ir šis īpašums, tiks novietots zem mūsu norādītā komponenta.
Mēs ieprogrammēsim vienkāršu kalkulatora piemēru operētājsistēmā Android, šajā apmācībā mēs izmantosim Netbeans un Android SDK, kā to darījām apmācībā Vietējo lietojumprogrammu izstrāde operētājsistēmai Android ar Netbeans.
Mēs izveidosim projektu LayoutRelativo
Kad projekts ir izveidots, mēs sāksim ar dizainu izkārtojuma mapē, atveriet failu main.xml un nokopējiet šādu kodu:
Tad mēs rakstīsim funkcionalitāti Java Failā MainActivity.java
pakotne com.Relatīvais; importēt android.app.Activity; importēt android.os.Bundle; importēt android.widget. *; importēt android.view. *; public class MainActivity paplašina darbību {// Mēs izveidojam mainīgos un komponentus, kurus izmantosim // aprēķiniem privāts dubultnumurs, numberrob; privāta EditText vērtība, valueb; privāts TextView rezultāts; public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); // Mēs sākam lietojumprogrammu ar galveno izkārtojumu setContentView (R.layout.main); // Katram komponentam mēs piešķiram mainīgo this.valora = (EditText) findViewById (R.id.numeroa); this.valorb = [EditText] findViewById (R.id.numerob); this.result = (TextView) findViewById (R.id.rezultāts); } public void btSumar (Skatīt skatu) {// Pievienot funkciju // Ja abas vērtības ir lielākas par nulli, tās tiek pārvērstas par decimāldaļu un pievienotas, ja (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 (skata skats) {// Atņemšanas funkcija // Ja abas vērtības ir lielākas par nulli, tās tiek pārvērstas par decimāldaļu un atņemtas, ja (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 (skata skats) {// Reizināšanas funkcija // Ja abas vērtības ir lielākas par nulli, tās tiek pārvērstas par decimāldaļu un reizinātas, ja (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 (Skatīt skatu) {// Sadalīt funkciju // Ja abas vērtības ir lielākas par nulli, tās tiek pārvērstas par decimāldaļu un sadalītas, ja (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))); }}} publiskā Būla vērtība onCreateOptionsMenu (Izvēlnes izvēlne) {// Izveidot izvēlni no veidnes vai izkārtojuma getMenuInflater (). inflate (R.menu.main, menu); atgriezties patiesi; }Mēs palaižam lietojumprogrammu, un, kad emulators ir aktivizēts, mēs redzēsim šādu ekrānu.
Pirmajā tekstlodziņā tiek pieņemti tikai cipari, kas satur 1 vai 5, kā mēs norādījām, un tie var būt konstrukcijas specifikācijās iekļauto ciparu kombinācijas ar īpašumu android: cipari = "12345"
Mēs arī mapē pievienosim izvēlni un apakšizvēlni Resursi Mēs izveidosim mapi ar nosaukumu menu un xml failā ar nosaukumu main.xm, kurā būs izvēlnes konfigurācija.
Vērtību mapē mums ir jādeklarē izvēlnes nosaukums failā stīgas.xml
Kalkulators - relatīvā izkārtojuma konfigurācijaMēs atkal palaižam lietojumprogrammu un pēc tam nospiediet izvēlnes pogu un noklikšķiniet uz Iestatīšana.
Mēs esam sasnieguši pilnībā funkcionālu lietojumprogrammu, lai pārbaudītu, kā tā darbojas, ja ieslēdzam mobilo tālruni un ekrāns ir jāpielāgo, nospiediet:
Ctrl + F12
Tas simulēs mobilā pagriezienu.Pogas ir novietotas pēc īpašībām, piemēram, pogai Atņemt mēs novietojam pa labi no pievienošanas un izlīdzinām ar pievienošanas pogas augšējo malu.
android: layout_toRightOf = "@ id / add" android: layout_alignTop = "@ id / add"Noderīgās pogas gadījumā mēs to izlīdzinām attiecībā pret pirmo pievienojamo pogu un pēdējo pavairošanas pogu.
android: layout_toRightOf = "@ id / multiply" android: layout_alignTop = "@ id / add"Tad mēs pievienosim pogu ar ikonu, lai to lejupielādētu no tīmekļa vietnes www.Icofinder.com. Mēs nokopēsim ikonu mapē Resursi / Drawable-mdpi.
Mēs pievienojam dizaina kodu zemāk, dodamies uz izkārtojuma mapi, atveram failu main.xml.
Relatīvo izkārtojumu galvenais mērķis, kā mēs teicām iepriekš par dizainu ir izmantot pēc iespējas mazāk ligzdotu izkārtojumuŠajā kalkulatora piemērā mēs esam izmantojuši vienu izkārtojumu ar visām tā sastāvdaļām. Tas ļaus lietojumprogrammai darboties ātrāk. Ligzdošana ar citu izkārtojumu palēnina un samazina lietojumprogrammas veiktspēju.
A Izkārtojums Relatīvā hierarhija parasti Tas izmantos mazāk izkārtojuma, un tā apstrāde būs vienkāršāka nekā LinearLayout hierarhija. Priekšrocība salīdzinājumā ar LinearLayout ir tāda, ka mums ir jāizveido jauns LinearLayout katru reizi, kad vēlamies mainīt komponenta orientāciju vai izveidot papildu skatus. Tā rezultātā ir ieteicams vispirms izmantot RelativeLayout jebkuram izkārtojumam, kas ir sarežģīts.
Kas vēl LinearLayout tas ir orientēts tikai vertikāli vai horizontāli attiecībā uz komponentu, savukārt izkārtojuma relatīvajam ir daudz vairāk iespēju. Ja jums patika un kalpoja šī apmācība, sekojiet man!Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu