Constraint Layout helpers
Technology
5
 min read
March 23, 2021

Constraint Layout helpers

Peter Šuly
Peter Šuly
Android developer

Constraint layout je typom ViewGroup, ktorý umožňuje vytvárať zložité rozloženia s hierarchiou plochých view. Plná sila CL prichádza od jeho helpers.

Group

Najjednoduchšie z Constraint Layout helpers. Kontroluje viditeľnosť viacerých (alebo jedného) odkazovaných views. Má tendenciu byť užitočný, ak chcete nastaviť viac views do stavu VISIBLE alebo GONE, ale nechcete ich zabaliť do wrapper ViewGroup, aby vaša štruktúra XML mohla zostať nezmenená.

Na odkazovanie na views vo vnútri skupiny možno použiť atribút constraint_referenced_ids.

app:constraint_referenced_ids="text,button"

V nasledujúcom príklade je možné ovládať viditeľnosť textu a tlačidiel nastavením viditeľnosti na Group Helper. Napr.

V prípade, že sa na jeden view odkazuje z viacerých skupín, declaration order XML definuje konečnú viditeľnosť (posledná skupina v XML má posledné slovo).

Layer

Prakticky to isté ako Group helper, ale sú podporovanézmeny prekladu, mierky a rotácie.

Napr. rotácia viacerých views môže vyzerať takto.

Guideline

Neviditeľný helper object pre Constraint Layout (na zariadenísa nikdy nezobrazí).  

Hlavným účelom guideline je umiestniť child of ConstraintLayout  na určité konkrétne miesto (napr. 100 dpi od začiatku obrazovky alebo 25% od dolnej časti obrazovky ...) Guideline môže byť buď vertikálna (nulová šírka, výška nadradeného rozloženia obmedzenia) alebo horizontálna (šírka rozloženia obmedzenia rodiča, nulová výška).

Na definovanie orientácie guideline môžete použiť atribút orientácie.

Najdôležitejšou vlastnosťou guideline je jeho poloha. Guideline je možné umiestniť tromi rôznymi spôsobmi pomocou atribútov layout_constraintGuide_begin, layout_constraintGuide_end a layout_constraintGuide_percent. Ovplyvňuje ich aj orientácia.

Akékoľvek direct child of Constraint Layout môže byť obmedzené na guideline, ale samotná guideline nemôže mať žiadne obmedzenia. Pozíciu guidelines určujú iba uvedené atribúty. Tu je príklad tlačidla umiestneného na 25% od hornej časti obrazovky.

Barrier

Barrier helper je podobná ako v Guideline. Hlavný rozdiel medzi nimi je v tom, že Barrier je flexibilná. V atribúte constraint_referenced_ids zaberá viac views a vytvára virtual guideline založené na najextrémnejšom pohľade z referenčných views (najextrémnejšie view je najširšie alebo najvyššie view). Ak sa počas behu zmení šírka (alebo výška) najextrémnejšieho pohľadu, barrier sa automaticky posunie podľa nej. Každý Barrier musí mať atribút BarrierDirection.

Barrier býva užitočná, ak chcete obmedziť pohľad pod (alebo nad, na konci, na začiatku) iných pohľadov. Napr. usecase, keď tlačidlo musí byť pod textViews, bez ohľadu na to, aké sú dlhé. Mali by ste si všimnúť,že môžete obmedziť pohľady na Barrier (na rozdiel od guideline).

Páčil sa Vám tento článok? Zachvílu tu bude aj pokračovanie. Sledujte ma na LinkedIn a dozviete sa viac :)


Like what you see?
Join our newsletter.

Great! Welcome to newsletter.
Oops! Something went wrong while submitting your email.
High quality content once a month. No spam, we promise.
Your personal data is processed in accordance with our Memorandum on Personal Data Protection.

Páči sa vám náš content?
Odoberajte newsletter.

Great! Welcome to newsletter.
Oops! Something went wrong while submitting your email.
Vaše osobné údaje sú spracované v súlade s našim Memorandom na ochranu osobných údajov.