Android: Tvorba GUI
Z MiS
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,...)