Wie kannst du schwimmen: direkt in React Native?
Ich habe ein element, das möchte ich float right, zum Beispiel
<View style={{width: 300}}>
<Text style={{backgroundColor: "#DDD"}}>Hello</Text>
</View>
Wie kann die Text
geschwommen werden /rechts ausgerichtet? Auch, warum die Text
den gesamten Raum der View
statt einfach den Platz für "Hallo"?
InformationsquelleAutor der Frage Some Guy | 2015-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie direkt angeben, die Position der Ausrichtung, zum Beispiel:
InformationsquelleAutor der Antwort goodhyun
Weil die
View
ist ein flex-container und standardmäßig hatflexDirection: 'Spalte'
undalignItems: 'stretch'
was bedeutet, dass Ihre Kinder, sollten gestreckt werden, zu füllen Ihre Breite.(Beachten Sie, dass pro die docsdass alle Komponenten Reagieren Nativen sind
display: 'flex'
standardmäßig und dassdisplay: 'inline'
überhaupt nicht existiert. Auf diese Weise werden die default-Verhalten einesText
innerhalb einerView
im Reagieren Nativen unterscheidet sich vom Standard-Verhalten vonspan
innerhalb einerdiv
auf dem web; im letzteren Fall, die Spanne würde nicht füllen die Breite derdiv
weil einspan
ist ein inline-element standardmäßig. Gibt es kein solches Konzept in Reagieren Nativen.)Den
float
Eigenschaft nicht vorhanden ist, Reagieren die Einheimischen, aber es gibt Lasten von Optionen zur Verfügung, um Sie (mit leicht unterschiedlichen Verhaltensweisen), mit denen Sie richtig auszurichten, Ihrem text. Hier sind die, an die ich denken kann:1. Verwenden
textAlign: 'rechts'
auf dieText
element(Dieser Ansatz ändert nichts an der Tatsache, dass die
Text
füllt die gesamte Breite desView
; es ist nur rechts-richtet den text innerhalb desText
.)2. Verwenden
alignSelf: flex-end'
auf dieText
Diese schrumpft die
Text
element, um die erforderliche Größe zu halten, deren Inhalt und fügt es am Ende der Kreuz-Richtung (der horizontalen Richtung, standardmäßig) dieView
.3. Verwenden
alignsItems: flex-end'
auf dieView
Dies entspricht der Einstellung
alignSelf: 'flex-end'
auf alleView
's Kinder.4. Verwenden
flexDirection: 'Zeile'
undjustifyContent: flex-end'
auf dieView
flexDirection: 'row'
legt die Hauptrichtung der layout horizontal statt vertikal;justifyContent
ist wiealignItems
sondern steuert die Ausrichtung in der Haupt-Richtung statt des Kreuzes Richtung.5. Verwenden
flexDirection: 'Zeile'
auf dieView
undmarginLeft: 'auto'
auf dieText
Dieser Ansatz demonstriert, der im Kontext des web-und real-CSS, in https://stackoverflow.com/a/34063808/1709587.
6. Verwenden
position: 'absolute'
undrechts: 0
auf dieText
:Wie im echten CSS, das nimmt den
Text
"out-of-flow", was bedeutet, dass seine Geschwister werden in der Lage sein, um überschneidungen und der vertikalen position an der Spitze derView
standardmäßig (Sie können jedoch ausdrücklich bestimmen Sie den Abstand von der Spitze desView
mit dertop
style-Eigenschaft).Natürlich, welche dieser verschiedenen Ansätze, die Sie verwenden möchten - und ob die Wahl zwischen Ihnen selbst überhaupt eine Rolle spielt - hängt von Ihren genauen Umstände.
InformationsquelleAutor der Antwort Mark Amery
Für mich die Einstellung
alignItems
zu einem Elternteil hat den trick, wie:InformationsquelleAutor der Antwort Cherniv
Sind Sie eigentlich nicht verwenden schwebt Reagieren Nativen. Reagieren Native nutzt die flexbox zu handhaben ist, all das Zeug.
In Ihrem Fall, werden Sie wahrscheinlich wollen, dass die container haben ein Attribut
Und über den text nehmen, der den ganzen Raum, wieder, Sie müssen nehmen einen Blick auf Ihre container.
Hier ist ein link zu wirklich tollen guide auf flexbox: A Complete Guide to Flexbox
InformationsquelleAutor der Antwort eyal83
flexDirection
: Wenn Sie wollen, bewegen sich horizontal (Zeile) oder vertikal (Spalte)justifyContent
: die Richtung, die Sie verschieben möchten.InformationsquelleAutor der Antwort Santosh Pillai
Können Sie float:right in, reagieren die einheimischen mit flex:
weitere Details: https://facebook.github.io/react-native/docs/flexbox.html#flex-direction
InformationsquelleAutor der Antwort Jiten Suthar