Lassen Sie uns annehmen, dass wir diejenigen reagieren einheimische Arten haben:Wie auszurichten 2 reagieren nativer Elemente, 1 in den Mittelpunkt und 1 am Anfang
var styles = StyleSheet.create({
parentView:{
width: 400,
height:150
},
containerView:{
flex:1,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
backgroundColor:'black'
},
child1:{
backgroundColor: 'red',
alignSelf: 'flex-start'
},
child2: {
backgroundColor: 'yellow'
}
}
und dass wir diese Render-Funktion:
render: function(){
return(
<View style={styles.parentView}>
<View style={styles.containerView}>
<Text style={styles.child1}>Child1</Text>
<Text style={styles.child2}>Child2</Text>
</View>
</View>
);
}
Dieser Code erzeugt dieses Bild:
aber, was ich erreichen will, ist dieses Bild:
sehr sehr wichtig: Ich möchte child2
TOTALLY im containerView
, und nicht ein bisschen weit nach rechts zentriert sein, weil der Raum, dass child1
einnimmt.
Wie kann ich das in reagieren-native erreichen *
ps: Beachten Sie, dass dies auf viele Auflösungen laufen (viele Bildschirme mit unterschiedlichen Seitenverhältnissen) so kann es nicht in absoluter Weise eingestellt werden, dass würde dazu führen, dass es nur auf "einigen" Bildschirmen funktioniert, aber nicht auf anderen.
auch die Besuche [Reagieren india Dimenstions] (https://facebook.github.io/react-native /docs/dimensions.html), werden Sie in der Lage sein, die Dimensionen des Fensters mit etwas wie zu erhalten 'var {Höhe, Breite} = Dimensions.get ('Fenster');' –
Das funktioniert, aber ich nicht ' Ich verstehe warum. Würdest du ein bisschen erklären, warum das in deiner Antwort Wesley funktioniert? – SudoPlz
Also ich glaube, Sie verstehen den ContainerView-Stil, denn das war ziemlich nahe, wenn nicht genau Ihr Code. Die Ansicht mit rowContainer ändert nur die Flex-Richtung von Zeile zu Spalte, um die Zentrierung von Elementen horizontal zu erleichtern. Da child1 absolut positioniert ist, wird standardmäßig oben links in der übergeordneten Ansicht festgelegt. Außerdem kann child2 die gesamte Zeile verwenden, um den Mittelpunkt zu berechnen. –