Wie stelle ich ein Hintergrundbild in Flutter ein?
Lesezeit: 5 Minuten
Arun Kumar
Ich versuche, ein Hintergrundbild für die Startseite festzulegen. Ich bekomme den Bildplatz vom Start des Bildschirms und fülle die Breite, aber nicht die Höhe. Übersehe ich etwas in meinem Code? Gibt es Bildstandards für Flattern? Werden Bilder basierend auf der Bildschirmauflösung jedes Telefons skaliert?
Ich bin mir nicht sicher, ob ich Ihre Frage verstehe, aber wenn Sie möchten, dass das Bild den gesamten Bildschirm ausfüllt, können Sie a verwenden DecorationImage mit einem Anfall von BoxFit.cover.
Für Ihre zweite Frage, hier ist ein Link zum Dokumentation zum Einbetten von auflösungsabhängigen Asset-Bildern in Ihre App.
Das funktioniert, solange Sie kein Kind haben. Wenn Sie ein untergeordnetes Element hinzufügen, wird die Größe des Containers auf die Größe seines untergeordneten Elements geschrumpft. Wissen Sie, wie Sie den Container dazu bringen können, den gesamten Bildschirm auszufüllen, unabhängig von der Größe seines untergeordneten Elements?
– HyLian
9. März 2018 um 14:35 Uhr
@ColinJackson wie groß sollte das Bild sein? Breite Höhe?
– ArgaPK
25. September 2018 um 13:28 Uhr
@HyLian setzt die Constraints-Eigenschaft des Containers, constraints: BoxConstraints.expand()
– Rustem Kakimow
18. Januar 2020 um 2:14 Uhr
@HyLian hinzufügen width: double.infinity zum Container mit dem Bild.
– jkoech
7. April 2020 um 19:32 Uhr
Wie wiederholt man das Bild vom Mustertyp im Containerhintergrund im Flattern?
– Kamlesh
11. Oktober 2020 um 13:05 Uhr
Wenn Sie eine verwenden Container als Körper der Scaffoldwird seine Größe entsprechend der Größe seines untergeordneten Elements sein, und normalerweise ist dies nicht das, was Sie möchten, wenn Sie versuchen, Ihrer App ein Hintergrundbild hinzuzufügen.
Mit Blick auf diese andere Frage schlug @collin-jackson auch vor, sie zu verwenden Stack anstatt Container als Körper der Scaffold und es tut definitiv, was Sie erreichen wollen.
So sieht mein Code aus
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Stack(
children: <Widget>[
new Container(
decoration: new BoxDecoration(
image: new DecorationImage(image: new AssetImage("images/background.jpg"), fit: BoxFit.cover,),
),
),
new Center(
child: new Text("Hello background"),
)
],
)
);
}
welche Größe soll das Bild haben? Breite Höhe?
– ArgaPK
25. September 2018 um 13:28 Uhr
Das Öffnen der Tastatur ändert die Größe des Bildes. Was kann man dafür tun?
Bitte fügen Sie ein Textfeld ein und öffnen Sie die Tastatur, dann wird das Bild nach oben verschoben, was keine gute Lösung ist. Jeder andere Vorschlag, bitte teilen.
– Kamlesh
28. Februar 2021 um 17:26 Uhr
Sie können verwenden Stack um das Bild auf den ganzen Bildschirm auszudehnen.
Stack(
children: <Widget>
[
Positioned.fill( //
child: Image(
image: AssetImage('assets/placeholder.png'),
fit : BoxFit.fill,
),
),
...... // other children widgets of Stack
..........
.............
]
);
Hinweis: Optional bei Verwendung von a ScaffoldSie können die setzen Stack innerhalb der Scaffold mit oder ohne AppBar nach Ihren Bedürfnissen.
Ich konnte einen Hintergrund darunter anwenden Scaffold (und das sogar AppBar) durch Setzen der Scaffold unter einem Stack und Einstellung a Container in die erste “ebene” mit dem hintergrundbild setzen und fit: BoxFit.cover Eigentum.
Beide Scaffold Und AppBar muss die haben backgroundColor festlegen als Color.transparent und das elevation von AppBar muss 0 (Null) sein.
Voilà! Jetzt haben Sie einen schönen Hintergrund unter dem gesamten Scaffold und der AppBar! 🙂
Die bereitgestellte Antwort wurde zur Überprüfung als Beitrag von geringer Qualität gekennzeichnet. Hier sind einige Richtlinien für Wie schreibe ich eine gute Antwort?. Diese bereitgestellte Antwort könnte von einer Erklärung profitieren. Nur-Code-Antworten werden nicht als “gute” Antworten angesehen.
– Trenton McKinney
8. August 2020 um 6:14 Uhr
14494800cookie-checkWie stelle ich ein Hintergrundbild in Flutter ein?yes
welche Größe soll das Bild haben? Breite Höhe?
– ArgaPK
25. September 2018 um 13:28 Uhr
Kann jemand ein Beispiel mit Netzwerkbildaufruf geben
– Der Milliardär
12. Februar 2019 um 21:22 Uhr
@TheDeadGuy Image.network(‘example.com/path/to/image.jpg’)?
– SacWebDeveloper
23. April 2019 um 21:26 Uhr
Checkout-Lösung hier unter diesem Link stackoverflow.com/a/62245570/9955978
– Shubham Sharma
19. Juni 2020 um 9:31 Uhr
8 Beispiele für Flutter-Hintergrundbilder
– Vijay Ram
5. Februar 2021 um 9:54 Uhr