Skip to content
Kezdőlap » MediaQuery

MediaQuery

A MediaQuery a Flutter osztálya. A MediaQuery-nek a reszponzív, platformfüggetlen megjelenítés esetén van jelentősége.

Segítségével például le tudjuk kérdezni a képernyő szélességet.

Az of metódus

Van egy of() konstruktor metódusa, ami a context objektumot várja inputként. Miután a MediaQuery „csatlakozott” a contexthez, hozzáférhetővé válik egy sor információ, ami az adott MediaQuery objektumon keresztül elérhető:

MediaQuery infók

A size objektum

Ilyen például a size, ami egy objektum. Ezen keresztül adatokat tudhatunk meg az eszköz méreteiről:

MediaQuery.of(context).size
size objektum

Például a size.width és a size.height az elérhető képernyő szélesség és magasság azon az eszközön, amin az app fut:

Widget build(BuildContext context) {
    print(MediaQuery.of(context).size.width);
    print(MediaQuery.of(context).size.height);

Az én esetemben portré módban a szélesség és magasság értéke:

I/flutter ( 1639): 392.72727272727275
I/flutter ( 1639): 761.4545454545455

Ha elforgatom landscape módba a képernyőt …

I/flutter ( 1639): 785.4545454545455
I/flutter ( 1639): 368.72727272727275

… akkor látszik, hogy a két érték felcserélődött. Ugyanakkor az is látszik, hogy tájolás (orientáció) váltáskor a build metódus ismét lefut (a Flutter által).

A Flutter ezzel teszi azt lehetővé, hogy azonnal kezelni tudjuk a képernyő elforgatását a kódban, mert futtatja a build metódust, ami újrarajzolja a UI-t (képernyőt).

A reszponzivitásnak pont ez a lényege: képernyő elforgatáskor a felület igazodik a rendelkezésre álló képernyő méretekhez.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük