Aber wie soll ich auf diese Weise die tatsächliche iPhone-Bildschirmgröße finden?
Ich habe eine API gesehen, um auf die Pixeldichte zuzugreifen, aber nichts über die Bildschirmgröße …
Irgendeine Idee?
Wie sieht es mit der Leistung aus? Ist es in Ordnung zu verwenden .png oder .jpg? Ist es in Ordnung, Hintergrundbilder im App-Verzeichnisbaum zu speichern? Oder ist es besser, etwas anderes zu verwenden? .svg oder irgendwas?
– Grün
4. Juli 2018 um 15:57 Uhr
@Sabito 錆兎standswithUkraine Das Kriterium von React Native ist für die Frage von zentraler Bedeutung. gehört also in den titel.
– TylerH
19. September um 14:34 Uhr
oronbz
(Dies ist veraltet, jetzt können Sie es verwenden BildHintergrund)
So habe ich es gemacht. Die Hauptsache war, die statischen festen Größen loszuwerden.
class ReactStrap extends React.Component {
render() {
return (
<Image source={require('image!background')} style={styles.container}>
... Your Content ...
</Image>
);
}
}
var styles = StyleSheet.create({
container: {
flex: 1,
// remove width and height to override fixed static size
width: null,
height: null,
}
};
Vielen Dank! Stellen Sie sicher, dass Image ist Ihre erste zurückgegebene Komponente, der Container. Zuerst habe ich versehentlich die verschachtelt Image innerhalb eines View das war der behälter.
YellowBox.js:76 Die Verwendung von mit Kindern ist veraltet und wird in naher Zukunft ein Fehler sein. Bitte überdenken Sie das Layout oder verwenden Sie stattdessen . Wenn ich Inhalte zu hinzufüge, wird diese Warnung angezeigt. es ist wirklich nervig.
– Benjamin Wen
1. August 2017 um 4:01 Uhr
das ist eigentlich veraltet. Verwenden Sie ImageBackground oder (beste) position:absolute
– Michèle
3. Dezember 2017 um 14:14 Uhr
Josch
Sie können verwenden flex: 1 Styling auf einem <Image> Element, damit es den gesamten Bildschirm ausfüllt. Sie können dann einen der Bildgrößenänderungsmodi verwenden, damit das Bild das Element vollständig ausfüllt:
import React from 'react-native';
let { StyleSheet } = React;
let styles = StyleSheet.create({
backgroundImage: {
flex: 1,
resizeMode: 'cover', // or 'stretch'
}
});
Ich bin mir ziemlich sicher, dass Sie das loswerden können <View> Wickeln Sie Ihr Bild ein und das wird funktionieren.
Ja, es funktioniert, ich habe das Bildelement ganz nach oben verschoben und seinen Stil auf eingestellt backgroundImage:{ justifyContent: 'center', alignItems: 'center', flex: 1, resizeMode: Image.resizeMode.contain, }, Vielen Dank
– talpaz
28. März 2015 um 23:47 Uhr
Nachdem ich eine Weile damit gekämpft hatte, fand ich es am einfachsten, das zu wickeln Image Komponente absolut positioniert View damit das Hintergrundbild hinter anderen Inhalten auf dem Bildschirm erscheint.
– vhs
29. Mai 2015 um 19:42 Uhr
Wichtige Änderung: <Image src=...> ist jetzt <Image source=...>
– Nutzername
28. Januar 2016 um 2:28 Uhr
Jetzt, wo der Z-Index unterstützt wird, würden Sie diese Antwort ändern?
– makenova
24. Juli 2016 um 22:13 Uhr
Es ist in Ordnung, aber das Bild dehnt sich aus und das Scrollen ist auf dem Bildschirm aktiviert
Du streckst auf die verfügbare Breite und width muss null haben, damit ‘stretch’ funktioniert
– Vinod Sobale
4. Januar 2017 um 11:54 Uhr
Zu Ihrer Information, Image-Komponenten können in der neuesten Version von React (0.51.0) keine untergeordneten Elemente haben. Dies funktioniert nicht mehr.
– rplankenhorn
13. Dezember 2017 um 13:18 Uhr
Update März 2018 Die Verwendung von Image ist veraltet. Verwenden Sie ImageBackground
Es hat perfekt funktioniert! Wie oben erwähnt, können Sie Image.resizeMode.cover oder auchContain verwenden.
Hoffe das hilft!
Pawel
UPDATE auf ImageBackground
Seit der Verwendung <Image /> Da ein Container für eine Weile veraltet ist, übersehen alle Antworten tatsächlich etwas Wichtiges. Wählen Sie für die richtige Verwendung <ImageBackground /> mit styleundimageStyle Stütze. Wenden Sie alle bildrelevanten Stile an imageStyle.
Zum Beispiel:
<ImageBackground
source={yourImage}
style={{
backgroundColor: '#fc0',
width: '100%', // applied to Image
height: '100%'
}}
imageStyle={{
resizeMode: 'contain' // works only here!
}}
>
<Text>Some Content</Text>
</ImageBackground>
Wie sieht es mit der Leistung aus? Ist es in Ordnung zu verwenden
.png
oder.jpg
? Ist es in Ordnung, Hintergrundbilder im App-Verzeichnisbaum zu speichern? Oder ist es besser, etwas anderes zu verwenden?.svg
oder irgendwas?– Grün
4. Juli 2018 um 15:57 Uhr
@Sabito 錆兎standswithUkraine Das Kriterium von React Native ist für die Frage von zentraler Bedeutung. gehört also in den titel.
– TylerH
19. September um 14:34 Uhr