Android: Tvorba GUI
Z MiS
(Rozdíly mezi verzemi)
(→Vyskakovací okna: Oprava vzhledu, osamostatnění kapitoly Activity) |
(Osamostatněny stránky se základními prvky a s pokročilými prvky.) |
||
(Není zobrazena 1 mezilehlá verze od 1 uživatele.) | |||
Řádka 13: | Řádka 13: | ||
* Zápis prostřednictvím kódu v Javě. | * Zápis prostřednictvím kódu v Javě. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Texty/multilanguage == | == Texty/multilanguage == | ||
Řádka 107: | Řá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 == | ||
Řádka 175: | Řádka 90: | ||
****android:columnCount="3" | ****android:columnCount="3" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Další otázky == | == Další otázky == | ||
Řádka 331: | Řá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,...)