Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
colocvii:colocviu01 [2015/03/28 18:49] Andrei Roșu-Cojocaru |
colocvii:colocviu01 [2015/03/29 12:47] (current) Andrei Roșu-Cojocaru |
||
|---|---|---|---|
| Line 31: | Line 31: | ||
| ===== Rezolvări ===== | ===== Rezolvări ===== | ||
| + | |||
| + | Proiectul Eclipse corespunzător aplicației Android ce conține rezolvările complete ale cerințelor colocviului este disponibil pe [[https://github.com/pdsd2015/PracticalTest01|contul de Github al disciplinei]]. | ||
| **A.1.** Se accesează [[https://www.github.com|Github]] și se realizează autentificarea în contul personal, prin intermediul butonului //Sign in//. | **A.1.** Se accesează [[https://www.github.com|Github]] și se realizează autentificarea în contul personal, prin intermediul butonului //Sign in//. | ||
| Line 68: | Line 70: | ||
| * prin folosirea unui singur container de tip ''RelativeLayout'' în care vor fi plasate toate controalele, având poziția definită relativ unele la celelalte sau la marginile părintelui în care sunt incluse; | * prin folosirea unui singur container de tip ''RelativeLayout'' în care vor fi plasate toate controalele, având poziția definită relativ unele la celelalte sau la marginile părintelui în care sunt incluse; | ||
| * prin folosirea mai multor containere de tip ''LinearLayout'', imbricate, având orientări diferite (orizontal - implicit, sau vertical). | * prin folosirea mai multor containere de tip ''LinearLayout'', imbricate, având orientări diferite (orizontal - implicit, sau vertical). | ||
| + | |||
| + | * Varianta 1 - un singur container de tip ''RelativeLayout'' | ||
| + | <note tip>Dacă se dorește ca un anumit control să fie aliniat cu un control care se găsește deasupra sa (aliniere pe orizontală), acesta va fi indicat ca valoare pentru proprietățile ''android:layout_alignLeft'' și ''android:layout_alignRight'' (proprietatea ''android:layout_width'' fiind ignorată în acest caz). În mod similar, dacă se dorește alinierea cu un control aflat la stânga (aliniere pe verticală), acesta va fi precizat ca valoare pentru proprietățile ''android:layout_alignTop'' și ''android:layout_alignBottom'' (proprietatea ''android:layout_height'' fiind ignorată în acest caz). </note> <file xml activity_practical_test01_main.xml> | ||
| + | <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| + | xmlns:tools="http://schemas.android.com/tools" | ||
| + | android:layout_width="match_parent" | ||
| + | android:layout_height="wrap_content" | ||
| + | tools:context="ro.pub.cs.systems.pdsd.practicaltest01.PracticalTest01MainActivity" > | ||
| + | |||
| + | <Button | ||
| + | android:id="@+id/navigate_to_secondary_activity_button" | ||
| + | android:layout_width="wrap_content" | ||
| + | android:layout_height="wrap_content" | ||
| + | android:layout_alignParentTop="true" | ||
| + | android:layout_alignParentRight="true" | ||
| + | android:text="@string/navigate_to_secondary_activity" /> | ||
| + | | ||
| + | <EditText | ||
| + | android:id="@+id/left_edit_text" | ||
| + | android:layout_width="wrap_content" | ||
| + | android:layout_height="wrap_content" | ||
| + | android:saveEnabled="false" | ||
| + | android:enabled="false" | ||
| + | android:inputType="number" | ||
| + | android:ems="7" | ||
| + | android:layout_alignParentLeft="true" | ||
| + | android:layout_below="@id/navigate_to_secondary_activity_button" | ||
| + | android:gravity="center" /> | ||
| + | | ||
| + | <EditText | ||
| + | android:id="@+id/right_edit_text" | ||
| + | android:layout_width="wrap_content" | ||
| + | android:layout_height="wrap_content" | ||
| + | android:saveEnabled="false" | ||
| + | android:enabled="false" | ||
| + | android:inputType="number" | ||
| + | android:ems="7" | ||
| + | android:layout_alignParentRight="true" | ||
| + | android:layout_below="@id/navigate_to_secondary_activity_button" | ||
| + | android:gravity="center" /> | ||
| + | | ||
| + | <Button | ||
| + | android:id="@+id/left_button" | ||
| + | android:layout_width="wrap_content" | ||
| + | android:layout_height="wrap_content" | ||
| + | android:layout_alignLeft="@id/left_edit_text" | ||
| + | android:layout_below="@id/left_edit_text" | ||
| + | android:layout_alignRight="@id/left_edit_text" | ||
| + | android:text="@string/press_me" /> | ||
| + | | ||
| + | <Button | ||
| + | android:id="@+id/right_button" | ||
| + | android:layout_width="wrap_content" | ||
| + | android:layout_height="wrap_content" | ||
| + | android:layout_alignLeft="@id/right_edit_text" | ||
| + | android:layout_alignRight="@id/right_edit_text" | ||
| + | android:layout_below="@id/right_edit_text" | ||
| + | android:text="@string/press_me_too" /> | ||
| + | |||
| + | </RelativeLayout> | ||
| + | </file> | ||
| + | |||
| + | * Varianta 2 - mai multe containere de tip ''LinearLayout'' imbricate | ||
| <note tip>Dacă se dorește ca un anumit control să ocupe o anumită proporție în cadrul continerului, se va utiliza proprietatea ''android:layout_weight'', însă pentru a fi luată în considerare, atributul ''android:layout_width'', respectiv ''android:layout_height'' (în funcție de coordonata pe care se dorește obținerea unei astfel de funcționalități) trebuie să aibă valoarea ''0dp''.</note> | <note tip>Dacă se dorește ca un anumit control să ocupe o anumită proporție în cadrul continerului, se va utiliza proprietatea ''android:layout_weight'', însă pentru a fi luată în considerare, atributul ''android:layout_width'', respectiv ''android:layout_height'' (în funcție de coordonata pe care se dorește obținerea unei astfel de funcționalități) trebuie să aibă valoarea ''0dp''.</note> | ||
