0
votes

Corps de NéthScrollView Whenflowed - Flutter

Application de capture d'écran

J'ai fait une page avec NESTCrollView, le corps de NESTCrollView est un conteneur qui contient des données des demandes précédentes. Mais le corps de la NuithscrollView est débordé. Le code suivant: P>

NestedScrollView(
          controller: _scrollViewController,
          headerSliverBuilder:
              (BuildContext context, bool innerBoxIsScrolled) {
            return <Widget>[
              SliverAppBar(
                title: new Text(
                  nama,
                  style: TextStyle(color: putih),
                ),
                iconTheme: IconThemeData(color: putih),
                backgroundColor: colorPrimaryDark,
              )
            ];
          },
          body: Container(
            child: Column(
              children: <Widget>[
                Container(
                  color: goldtua,
                  child: Padding(
                    padding: const EdgeInsets.all(12.0),
                    child: Row(
                      mainAxisSize: MainAxisSize.max,
                      children: <Widget>[
                        Text(
                          string.harga,
                          style: TextStyle(color: putih, fontSize: 24.0),
                        ),
                        Text(
                          formatingRupiah(harga),
                          style: TextStyle(color: putih, fontSize: 24.0),
                        ),
                      ],
                    ),
                  ),
                ),
                Expanded(
                  child: Padding(
                    padding: const EdgeInsets.all(16.0),
                    child: Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                        Row(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: <Widget>[
                            Text(
                              string.fasilitas,
                              style: TextStyle(fontSize: 18.0),
                            ),
                            Expanded(
                              child: Text(
                                fasilitas, //this is the result of the request, the text is multiline so it takes up less space
                                style: TextStyle(fontSize: 18.0),
                              ),
                            )
                          ],
                        ),
                        ......


0 commentaires

3 Réponses :


0
votes

Vous obtenez cette erreur car la taille de votre contenu est plus grande que la taille du conteneur. Cela signifie que la taille conteneur est inférieure à la taille de la colonne . Afin de résoudre ce problème, vous devriez envelopper conteneur avec un widget défilable comme singlechechildscrollview qui permettra de faire défiler le contenu et de faire correspondre la taille des parents ou l'espace disponible. Vous n'avez pas besoin d'utiliser développé car chaque élément de la colonne remplira uniquement l'espace nécessaire xxx


1 commentaires

J'ai essayé votre code mais le résultat que j'ai obtenu est juste un écran vide



0
votes

Il suffit d'utiliser simplement un singlechildscrollview code> à la racine de Corps CODE>:

body: SingleChildScrollView(
         child: Container(
            child: Column(
              children: <Widget>[.....


0 commentaires

0
votes

Si vous voulez ou avez besoin de continuer à utiliser NESTCrollView, vous pouvez utiliser la colonne ListView à ListView, tout comme ceci:

import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';

class HomePage extends StatefulWidget {
  HomePage() : super();
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      child: NestedScrollView(
        headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
          return <Widget>[
            CupertinoSliverNavigationBar(
              largeTitle: Text('My large title'),
            )
          ];
        },
        body: Column( // I changed here from ListView and Column and I will get an overflow error
          children: [
            Text("List item", style: TextStyle(fontSize: 96)),
            Text("List item", style: TextStyle(fontSize: 96)),
            Text("List item", style: TextStyle(fontSize: 96)),
            Text("List item", style: TextStyle(fontSize: 96)),
            Text("List item", style: TextStyle(fontSize: 96)),
            Text("List item", style: TextStyle(fontSize: 96)),
          ],
        ),
      ),
    );
  }
}


0 commentaires