J'ai créé un ListView horizontal contenant beaucoup d'images, mais chaque image de ListView ne correspond pas à l'écran (parfois je dois faire défiler pour voir le reste et bien sûr une partie de l'image suivante). Comment puis-je étirer chaque image pour l'adapter à l'écran et faire défiler pour voir l'image suivante (l'image suivante doit également s'adapter à l'écran)
EXEMPLE DE MISE À JOUR
4 Réponses :
Vous pouvez utiliser DecorationImage avec BoxFit.fill
Exemple:
Container(
width: 64.0,
height: 64.0,
decoration: new BoxDecoration(
shape: BoxShape.circle,
image: new DecorationImage(
fit: BoxFit.fill,
image: new NetworkImage('my_url.jpg')
)
))
Non, je veux dire étirer chaque image dans ListView horizontal pour l'écran pas seulement une image
Pouvez-vous avoir une maquette ou une capture d'écran. Je ne sais pas ce que tu veux dire?
Exemple mis à jour
Je pense donc que vous pouvez définir la largeur de l'image égale à la taille de l'écran. Pour obtenir la largeur de l'écran. Vous pouvez utiliser `` MediaQuery.of (context) .size.width, ''
Vous pouvez utiliser ce code pour une vue de liste horizontale avec des images parfaitement ajustées.
Container(
height: 275,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: furnitures.length,
itemBuilder: (BuildContext context, int index) {
Map furniture = furnitures[index];
return Padding(
padding: EdgeInsets.only(right: 20),
child: GestureDetector(
onTap: (){
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context){
return Details();
},
),
);
},
child: Container(
height: 275,
width: 280,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
furniture['name'],
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20,
),
),
SizedBox(height: 10),
ClipRRect(
borderRadius: BorderRadius.circular(15),
child: Image.asset(
"${furniture["img"]}",
height: 240,
width: 280,
fit: BoxFit.cover,
),
),
],
),
),
),
);
},
),
)
Vous pouvez utiliser MediaQuery pour y parvenir. Simplement en tapant MediaQuery.of (context) .size.width qui vous donne la largeur de l'écran de l'appareil puis vous attribuez à la largeur de l'image
Ce que je voulais dire, c'était un widget de carrousel, je n'en ai jamais entendu parler auparavant. J'étais nouveau dans le développement mobile.