Flutter SDK Définir l'image de Fond
Je suis en train de mettre une image de fond pour la page d'accueil. Je suis l'obtention de l'image à l'endroit du début de l'écran et le remplissage de la largeur mais pas en hauteur.
Ai-je raté quelque chose dans mon code? Sont il de l'image de normes flutter? Faire des images à l'échelle en fonction de chaque téléphone de la résolution de l'écran?
class BaseLayout extends StatelessWidget{
@override
Widget build(BuildContext context){
return new Scaffold(
body: new Container(
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
new Image.asset("assets/images/bulb.jpg")
]
)
)
);
}
}
- quelle devrait être la taille de l'image? largeur*hauteur?
- Quelqu'un peut-il donner un exemple avec une image réseau d'appel
- Image.réseau('example.com/path/to/image.jpg')?
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de comprendre ta question, mais si vous voulez l'image pour remplir l'écran, vous pouvez utiliser un
DecorationImage
avec un ajustement deAmélioration.couvrir
.Pour votre deuxième question, voici un lien vers le la documentation sur la façon d'intégrer dépendant de la résolution de l'actif des images dans votre application.
Si vous utilisez un
Container
que le corps de laScaffold
, sa taille sera, par conséquent, la taille de son enfant, et généralement ce n'est pas ce que vous voulez, quand vous essayez d'ajouter une image de fond à votre application.Regardant cette autre question, @collin-jackson était aussi ce qui suggère d'utiliser
Stack
au lieu deContainer
que le corps de laScaffold
et il n'a certainement ce que vous voulez atteindre.C'est comment mon code ressemble à
Vous pouvez utiliser
Stack
pour faire de l'étirement de l'image en mode plein écran.Remarque: en option si vous utilisez un
Scaffold
, vous pouvez mettre leStack
à l'intérieur de laScaffold
avec ou sansAppBar
en fonction de vos besoins.Vous pouvez utiliser
DecoratedBox
.De sortie:
J'ai été en mesure d'appliquer un arrière-plan au-dessous de la
Scaffold
(et encore c'estAppBar
) en mettant leScaffold
sous unStack
et réglage d'unContainer
dans la première "couche" avec l'image d'arrière-plan définie etfit: BoxFit.cover
propriété.À la fois la
Scaffold
etAppBar
a avoir lebackgroundColor
définir commeColor.transparent
et laelevation
deAppBar
doit être à 0 (zéro).Voilà! Vous avez maintenant un joli fond ci-dessous l'ensemble de l'Échafaudage et de la barre d'applications! 🙂