Használja a flexboxot rugalmas és rugalmas elrendezések létrehozásához a React Native alkalmazásban.
A Flexbox egy CSS-eszköz, amellyel rugalmas egydimenziós elrendezéseket hozhat létre. Lehetővé teszi az elemek helyzetének szabályozását a tárolón belül, így jobban irányíthatja a tartalom képernyőn való megjelenítését.
Ez az oktatóanyag bemutatja, hogyan használhatja a flexboxot a React Native alkalmazásban rugalmas és rugalmas elrendezések létrehozásához. Megtanulja, hogyan helyezheti el a tárolóelemek gyermekelemeit a flexbox tulajdonságok segítségével.
A Flexbox viselkedésének összehasonlítása a React Native és a webfejlesztésben
Ha a tárolóelem tartalmát flexbox segítségével szeretné rendezni egyszerű CSS-ben, akkor a kijelző: flex ingatlan.
konténer { kijelző: Flex; }
De a React Native használatával nem kell beállítania a kijelző: flex ingatlan. Ennek az az oka, hogy a React Native alapértelmezés szerint a flexboxot használja az elrendezések felépítéséhez.
Íme néhány különbség, amelyeket érdemes szem előtt tartani
hogyan viselkedik a flexbox a HTML-elemek igazításakor webalkalmazásokban, szemben azzal, hogyan viselkedik a React Native-ban:- flexDirection alapértelmezés szerint sor webes alkalmazásokban, de alapértelmezés szerint oszlop a React Native alkalmazásban.
- alignContent alapértelmezés szerint nyújtózkodni webes alkalmazásokban és flex-start a React Native alkalmazásban.
- flexShrink alapértelmezés szerint 1 a weben és 0 a React Native esetén.
A Flexbox tulajdonságok használata a React Native alkalmazásban
A Flexbox tulajdonságai lehetővé teszik a tárolóelem gyermekelemeinek igazításának leírását. Meg kell értenie ezeket a tulajdonságokat, hogy olyan összetett elrendezéseket hozzon létre, amelyek megfelelnek az alkalmazás igényeinek.
1. A flex tulajdonság használata a React Native alkalmazásban
A Flex tulajdonság határozza meg, hogy a Kilátás összetevő kitölti a képernyőt. Ez a tulajdonság 0-nál nagyobb vagy azzal egyenlő egész értéket fogad el. Az érték a képernyő törtrészét adja meg Kilátás alkatrésznek fel kell vennie.
Ebben a példában egyetlen nézetű képernyőt hoz létre a React Natív összetevők könyvtára:
import Reagál tól től"reagál"
import { Stíluslap, Nézet } tól től"react-native"
exportalapértelmezettfunkcióApp() {
Visszatérés (
<>háttérszín: "#A020F0", Flex: 1}} />
</>
)
}
Íme a kimenet:
Itt az 1-et rendelte hozzá a flex értékeként Kilátás összetevő. A Kilátás komponens a teljes képernyőt (100%) elfoglalja, mert a helyet egy csoportra osztotta.
Nézzünk egy másik példát:
import Reagál tól től"reagál"
import { Stíluslap, Nézet } tól től"react-native"
exportalapértelmezettfunkcióApp() {
Visszatérés (háttérszín: "#A020F0", Flex: 1}} /> háttérszín: "#7cb48f", Flex: 3 }} />
</View>
)
}
Íme az eredmény:
Itt van kettő Kilátás elemek egy másikon belül Kilátás elem. Az első gyerek be van állítva flex: 1, a második pedig a következőre van állítva flex: 3. Ezek az értékek megosztják a teret a két gyerek között. Az első a képernyő 1/4-ét, míg a második a képernyő 3/4-ét (a képernyő 4 blokkra van felosztva, mert 1+3 = 4).
2. A flexDirection tulajdonság használata a React Native alkalmazásban
Ha megnézi a fenti képernyőképet, látni fogja, hogy a gyermekelemek egymáson vannak. Ez a flexbox alapértelmezett viselkedése a React Native (flexDirection alapértelmezés szerint a oszlop érték).
Azt is beállíthatja a flexDirection tulajdonát sor, oszlop-fordítás, és sor-fordított. A következő példában flexDirection be van állítva sor, ezért a gyermekelemek egymás mellé kerülnek:
import Reagál tól től"reagál"
import { Stíluslap, Nézet } tól től"react-native"const styles = StyleSheet.create({
konténer: {
háttérszín: "#00FF00",
Flex: 1,
alignItems: "központ",
flexDirection: "sor",
},
négyzet: {
háttérszín: "#FF0000",
szélesség: 98,
magasság: 98,
árrés: 4,
},
});
exportalapértelmezettfunkcióApp() {
Visszatérés (
</View>
)
}
Íme az eredmény:
Beállítása a flexDirection nak nek sor-fordított egymás mellé helyezi a gyerekeket, de megfordítja a sorrendet. Hasonlóképpen a oszlop-fordítás a gyerekeket egymásra helyezi, de az által meghatározott sorrenddel ellentétes sorrendben oszlop.
3. JustifyContent használata a React Native alkalmazásban
A justifyContent tulajdonság egy flexbox tároló gyermekelemeit az elsődleges tengely mentén igazítja. Ha a flexDirection be van állítva oszlop, akkor az elsődleges tengely a függőleges tengely. Ha be van állítva sor, akkor vízszintes.
A lehetséges értékei justifyContentvannak flex-start, hajlékony végű, központ, tér-között, tér-körül, és térben egyenletesen.
A következő példában flexDirection sorra van állítva és justifyContentbe van állítva flex-start:
import Reagál tól től"reagál"
import { Stíluslap, Nézet } tól től"react-native"const styles = StyleSheet.create({
konténer: {
háttérszín: "#00FF00",
Flex: 1,
justifyContent: "flex-start",
flexDirection: "sor",
},
négyzet: {
háttérszín: "#FF0000",
szélesség: 98,
magasság: 98,
árrés: 6,
},
});
exportalapértelmezettfunkcióApp() {
Visszatérés (
</View>
)
}
Íme a kimenet:
Ha megváltoztatod a flexDirection nak nek oszlop, flex-start a függőleges tengelyre vonatkozik. Így a dobozok egymásra kerülnek.
Beállítás justifyContent középre (míg az elsődleges tengely a oszlop) középre helyezi a három gyermekdobozt.
4. Az alignItems használata a React Native alkalmazásban
A alignItems tulajdonság határozza meg az elemek elhelyezését egy flexbox tárolóban a másodlagos tengely mentén. Ez az ellenkezője justifyContent. Akárcsak justifyContent gondoskodik a függőleges beállításról, alignItems kezeli a vízszintes igazítást. A lehetséges értékei alignItems vannak flex-start, hajlékony végű, központ, és alapvonal.
A következő példában flexDirection be van állítva sor és alignItemsbe van állítva flex-start:
import Reagál tól től"reagál"
import { Stíluslap, Nézet } tól től"react-native"const styles = StyleSheet.create({
konténer: {
háttérszín: "#00FF00",
Flex: 1,
alignItems: "flex-start",
flexDirection: "sor",
},
négyzet: {
háttérszín: "#FF0000",
szélesség: 98,
magasság: 98,
árrés: 6,
},
});
exportalapértelmezettfunkcióApp() {
Visszatérés (
</View>
)
}
Íme a kimenet:
Ha beállítja a flexDirection tulajdonát oszlop és alignItems nak nek központ, a dobozok egymásra kerülnek, a gyermekelemek pedig középre igazodnak.
5. Az alignSelf használata a React Native alkalmazásban
A alignSelf tulajdonság határozza meg, hogy az egyes gyermekek hogyan igazodjanak el a tárolóban. Felülírja alignItems, és a lehetséges értékek flex-start, hajlékony végű, központ, és alapvonal.
A következő példában alapértelmezést adunk meg alignItems tulajdonságot, és felülírja a használatával alignSelf:
import Reagál tól től"reagál"
import { Stíluslap, Nézet } tól től"react-native"const styles = StyleSheet.create({
konténer: {
háttérszín: "#00FF00",
Flex: 1,
alignItems: "központ",
justifyContent: "központ",
flexDirection: "sor",
},
négyzet: {
háttérszín: "#FF0000",
szélesség: 98,
magasság: 98,
árrés: 6,
},
});
exportalapértelmezettfunkcióApp() {
Visszatérés (alignSelf: "flex-end" }]} /> alignSelf: "flex-start" }]} />
)
}
Íme az eredmény:
Egyéb Flexbox tulajdonságok
Két másik tulajdonság is használható, amikor flexbox-elrendezést hoz létre a React Native alkalmazásban:
- flexWrap: Abban az esetben, ha egy konténer gyermekei túlcsordulnak belőle. Használat flexWrap annak megadásához, hogy egyetlen sorban legyenek-e zsugorítva, vagy több sorba kell csomagolni. A következő lehetséges értékei flexWrap vannak nowrap és betakar.
- rés: Használja a rés tulajdonság a tárolóban lévő rácselemek közötti hézagok hozzáadásához. Értéke akkora legyen, amekkorát szeretne az elemek között. Megadhatja a rés ingatlan CSS-egységekkel, például px, em vagy rem.
További információ a React Native szolgáltatásról
Most, hogy megértette a flexboxot, és tudja, hogyan kell használni a React Native alkalmazásban rugalmas és érzékeny elrendezések létrehozásához, itt az ideje, hogy belevágjon a React Native finomságaiba.