Android: Tvorba GUI
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (Vytvoření stránky --- zatím neupravené) |  (Osamostatněny stránky se základními prvky a s pokročilými prvky.) | ||
| (Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.) | |||
| Řádka 1: | Řádka 1: | ||
| [[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Android]] | [[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Android]] | ||
| − | == Nástroje pro tvorbu GUI == | + | == Nástroje pro tvorbu grafického rozhraní aplikace (GUI) == | 
| * Vestavěné nástroje vývojového prostředí (IDE) | * Vestavěné nástroje vývojového prostředí (IDE) | ||
| − | ** Například Android Studio má takový nástroj. | + | ** Například Android Studio má takový nástroj přímo vestavěn. | 
| − | * Nástroj 'DroidDraw' | + | * Nástroj ''DroidDraw'' | 
| ** [http://www.droiddraw.org/ DroidDraw.org] | ** [http://www.droiddraw.org/ DroidDraw.org] | ||
| − | ** Generuje   | + | ** Samostatná aplikace pro vizuální vytváření grafického rozhraní (GUI). | 
| − | * Náhledy v zařízení | + | ** Generuje XML popis grafického rozhraní, který pak můžeme přenést do projektu. | 
| − | **  AnDroidDraw | + | * Náhledy GUI v zařízení | 
| − | + | **  ''AnDroidDraw'' ([http://www.droiddraw.org/androiddraw.html DroidDraw.org → AndroidDraw]) | |
| * Editovat přímo XML souboru. | * Editovat přímo XML souboru. | ||
| * Zápis prostřednictvím kódu v Javě. | * Zápis prostřednictvím kódu v Javě. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| == Texty/multilanguage == | == Texty/multilanguage == | ||
| Řádka 99: | Řádka 22: | ||
| **  Soubor s texty | **  Soubor s texty | ||
| **  <string name="popis_textu">Text ke zobrazení</string> | **  <string name="popis_textu">Text ke zobrazení</string> | ||
| − | + | ||
| == Identifikace prvků GUI == | == Identifikace prvků GUI == | ||
| − | * View | + | * Všechny prvky jsou potomky třídy <code>View</code>. | 
| − | * | + | * Viz [developer.android.com/reference/android/view/View.html Developer.Android.com → View]. | 
| − | **  findViewById(...) | + | * Pokud potřebujeme získat odkaz na prvek v kódu aplikace, můžeme prvku přiřadit atribut: | 
| − | + |  android:id | |
| − | + | * ... a následně získat prvek metodou: | |
| − | + |   findViewById(...) | |
| − | + | ||
| − | + | <div class="Priklad"> | |
| − | + | *v XML: | |
| − | + |  <TextView android:id="@+id/popis" .../> | |
| − | + | * v kódu: | |
| − | + |  TextView tv = (TextView) this.findViewById(R.id.popis); | |
| + | </div> | ||
| + | |||
| + | ; Další metody: | ||
| + |  int View.getId() | ||
| + |   View View.getParent() | ||
| + |  int View.getParent() | ||
| + |   View View.getRootView() | ||
| Řádka 159: | Řádka 89: | ||
| ****android:rowCount="3" | ****android:rowCount="3" | ||
| ****android:columnCount="3" | ****android:columnCount="3" | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| Řádka 319: | Řádka 98: | ||
| * Lze vytvářet varianty vzhledu (alternativní XML). | * Lze vytvářet varianty vzhledu (alternativní XML). | ||
| * Snáze si vzhled představíme (kód je stručnější). | * Snáze si vzhled představíme (kód je stručnější). | ||
| + | |||
| + | |||
| + | == Související stránky == | ||
| + | * [[Android: Jednoduché prvky GUI]] | ||
| + | * [[Android: Další součásti GUI]] (vyskakovací okna, menu, přepínání oken,...) | ||
Aktuální verze z 25. 6. 2015, 10:13
| Obsah | 
Nástroje pro tvorbu grafického rozhraní aplikace (GUI)
-  Vestavěné nástroje vývojového prostředí (IDE)
- Například Android Studio má takový nástroj přímo vestavěn.
 
-  Nástroj DroidDraw
- DroidDraw.org
- Samostatná aplikace pro vizuální vytváření grafického rozhraní (GUI).
- Generuje XML popis grafického rozhraní, který pak můžeme přenést do projektu.
 
-  Náhledy GUI v zařízení
- AnDroidDraw (DroidDraw.org → AndroidDraw)
 
- Editovat přímo XML souboru.
- Zápis prostřednictvím kódu v Javě.
Texty/multilanguage
-  V XML:
-   android:text="@string/popis_textu"
- Odkaz v GUI
- Univerzální pro všechny jazyky
 
 
 
-   android:text="@string/popis_textu"
-  resources/values/strings.xml <#ID_1709611332>
- Soubor s texty
- <string name="popis_textu">Text ke zobrazení</string>
 
Identifikace prvků GUI
-  Všechny prvky jsou potomky třídy View.
- Viz [developer.android.com/reference/android/view/View.html Developer.Android.com → View].
- Pokud potřebujeme získat odkaz na prvek v kódu aplikace, můžeme prvku přiřadit atribut:
android:id
- ... a následně získat prvek metodou:
findViewById(...)
- v XML:
<TextView android:id="@+id/popis" .../>
- v kódu:
TextView tv = (TextView) this.findViewById(R.id.popis);
- Další metody
int View.getId() View View.getParent() int View.getParent() View View.getRootView()
Kontejnery
- Jsou ekvivalentem panelů v Javě.
- Zároveň nesou informaci o rozložení panelu.
-  LinearLayout()
-   Konfigurace:
- android:orientation
- vertical
 
- android:layout_height
- wrap_content
 
- android:layout_width
- fill_parent
 
- android:layout_weight
- poměr dvou či více kontejnerů
- 50
 
- android:layout_gravity
- zarovnání
- left
- right
- center_horizontal
- center_vertical
 
- android:padding
- 5px
 
 
- android:orientation
 
 
-   Konfigurace:
- RelativeLayout()
-  TableLayout()
-   Atributy:
- android:layout_height
- wrap_content
- fill_parent
 
- android:layout_width
- fill_parent
 
 
- android:layout_height
 
-   Řádky:
- <TableRow
-  android:layout_height
- wrap_content
 
-  android:layout_width
- wrap_content
 
 
-  android:layout_height
- V řádcích jednotlivé vnořené prvky (View).
 
- <TableRow
 
 
-   Atributy:
- ScrollView()
-  GridLayout()
- od API 14 (Android 4.0)
-   <GridLayout
- android:rowCount="3"
- android:columnCount="3"
 
 
 
Další otázky
Vytvářet GUI v kódu, nebo editací XML?
- Doporučuje se spíš XML.
- Oddělíme tak logiku aplikace (chování, popsané v kódu) od popisu vzhledu (uvede se v XML).
- Lze vytvářet varianty vzhledu (alternativní XML).
- Snáze si vzhled představíme (kód je stručnější).
Související stránky
- Android: Jednoduché prvky GUI
- Android: Další součásti GUI (vyskakovací okna, menu, přepínání oken,...)
