|
|
# Vytváranie užívateľského rozhrania
|
|
|
|
|
|
|
|
|
|
|
|
- [Oficiálna stránka o layoutoch](https://developer.android.com/guide/topics/ui/declaring-layout).
|
|
|
- [Kurz androidu -- UI, štýly](https://book.droidboy.cz/2-user_interface,_styly.html)
|
|
|
|
|
|
|
|
|
## LinearLayout
|
|
|
## [LinearLayout](https://developer.android.com/guide/topics/ui/layout/linear.html)
|
|
|
|
|
|
Vyskúšajte spraviť jednotlivé layouty v _src/main/res/layout_.
|
|
|
|
... | ... | @@ -17,10 +19,11 @@ Vyskúšajte spraviť jednotlivé layouty v _src/main/res/layout_. |
|
|
- nastavenie farby: `android:background="@android:color/holo_red_dark"`
|
|
|
- prípadne konštanty `@android:color/white`, `@android:color/black`, `@android:color/holo_green_light`, `@android:color/holo_purple`
|
|
|
- nastavenie váhy: `android:layout_weight="1"`
|
|
|
- **Ak nastavujem váhu, nemôžem použiť `match_parent` ani `wrap_content`. Musím použiť špeciálne 0dp.**
|
|
|
|
|
|
![Screenshot_2019-01-27_at_11.04.36](uploads/623b25c499f5b0500b84fbbd18c920ba/Screenshot_2019-01-27_at_11.04.36.png)
|
|
|
|
|
|
> Čo sa stane, keď zmením váhu z 1 na 1.5?
|
|
|
> Čo sa stane, keď zmením váhu z 1 na 2?
|
|
|
|
|
|
#### Úloha 2
|
|
|
|
... | ... | @@ -29,7 +32,15 @@ Vyskúšajte spraviť jednotlivé layouty v _src/main/res/layout_. |
|
|
|
|
|
![Screenshot_2019-01-27_at_11.04.51](uploads/f8deb5f6da09e0e37d74509837ed7148/Screenshot_2019-01-27_at_11.04.51.png)
|
|
|
|
|
|
## RelativeLayout
|
|
|
### BONUS
|
|
|
|
|
|
- spravte pyramídu z tlačítok
|
|
|
- aby bola pyramída v strede, nastavte hlavnému layoutu `android:gravity="center"`
|
|
|
- použite `LinearLayout` v `LinearLayout`e
|
|
|
|
|
|
![Screenshot_2019-03-31_at_20.56.53](uploads/2c32344cfdfa0fe1c3a33e6801f60036/Screenshot_2019-03-31_at_20.56.53.png)
|
|
|
|
|
|
## [RelativeLayout](https://developer.android.com/guide/topics/ui/layout/relative.html)
|
|
|
|
|
|
#### Úloha 3
|
|
|
|
... | ... | @@ -66,6 +77,22 @@ Default hodnôt je `false`. |
|
|
- klikateľné, nastavovateľné
|
|
|
- pozor na "ručné" nastavenie hodnôt typu _položka X je 123 jednotiek od kraja_ -- na rôzne veľkých telefónoch to bude vyzerať inak!
|
|
|
|
|
|
## Sizes: px, dp
|
|
|
|
|
|
**Pixels (px)** corresponds to actual pixels on the screen.
|
|
|
|
|
|
**Density-independent Pixels (dp or dip)** are an abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi screen, so 1 dp = 1 pixel on a 160 dpi screen. The ratio of dp-to-pixel will change with the screen density, but not necessarily in direct proportion.
|
|
|
|
|
|
## Padding a margin
|
|
|
|
|
|
Vyskúšajte nastaviť tlačítku:
|
|
|
- `android:padding="20dp"`
|
|
|
- `android:layout_margin="20dp"`
|
|
|
|
|
|
A skúste prísť na to, v čom je rozdiel a čo to nastavuje.
|
|
|
|
|
|
> Hint: Okraje tlačítka vs. okraje textu.
|
|
|
|
|
|
## HW
|
|
|
|
|
|
Rozšírte _Úlohu 4_ tak, že pod tlačítkom C (alebo D) bude LinearLayout, ktorý bude obsahovať 2 View.
|
... | ... | |