首页 > 解决方案 > Flutter Renderbox溢出

问题描述

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart';
import '../../Data/Globalvariable.dart' as global;
// import './customexpansionpanel.dart' as ex;

class Districtslayout extends StatefulWidget {
  @override
  _DistrictslayoutState createState() => _DistrictslayoutState();
}

class _DistrictslayoutState extends State<Districtslayout> {
  @override
  Widget build(BuildContext context) {
    return Consumer(
        builder: (context, global.DistrictModel districtModel, child) {
      return _totalwig(districtModel.district);
    });
  }

  _totalwig(districts) {
    return SingleChildScrollView(
      child: Column(children: [
        ...(districts).map(
          (answer) {
            return answer['district_id'] == 1000
                ? Text('Select_Text')
                : ElevatedButton(
                    style: ButtonStyle(
                        elevation: MaterialStateProperty.all(24),
                        fixedSize: MaterialStateProperty.all(
                            Size(MediaQuery.of(context).size.width, 60))),
                    child: Text(
                      answer['district_name'],
                      style: TextStyle(fontSize: 20),
                    ),
                    onPressed: () => print(answer['district_id'].toString()),
                  );
          },
        ).toList(),
      ]),
    );
  }

  // _createwig(districts) {
  //   List<Widget> columnContent = [];
  //   for (dynamic dis in districts) {
  //     columnContent.add(
  //       ListTile(
  //         title: dis['district_id']==1000?Text('Select State'):ElevatedButton(
  //           onPressed: ()=>print(dis['district_id']),
  //           child: Text(
  //             dis['district_name'],
  //             style: TextStyle(fontSize: 18.0),
  //           ),
  //         ),
  //       ),
  //     );
  //   }
  //   return columnContent;
  // }
}

在这里,我收到渲染框溢出错误,即使我已将列包装到我的小部件树中的 SingleChildScrollView 我有一个 sizedbox,然后是一个自定义小部件,然后是一个 sizedbox,然后是一个 singlechildscrollview,然后是列我希望如果你想要任何代码就足够了评论,我会更新代码

import 'package:cowin_slot_tracker/Data/styles/expansionbutton.dart';

import '../../src/By_District/states.dart';
import 'package:flutter/material.dart';
import './districts.dart';
import 'package:provider/provider.dart';
import '../../Data/Globalvariable.dart' as global;

class DistrictHome extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => DistrictHomeState();
}

class DistrictHomeState extends State<DistrictHome> {
  @override
  Widget build(BuildContext context) {
    return Stack(
      children: [
        Column(
          children: [
            Padding(padding: EdgeInsets.only(top: 120)
                // color: Colors.white.withOpacity(1),
                ),
            Divider(
              thickness: 2,
            ),
            Text("hey"),
          ],
        ),
        ChangeNotifierProvider(
          create: (_) => global.DistrictModel(),
          child: Consumer(
              builder: (context, global.DistrictModel pinModel, child) {
            return Column(
              children: [
                 SizedBox(height: 60, child: StateMenu()),
                 SizedBox(
                    child: ExpnButton(
                  wiget: Districtslayout(),
                  hint: 'Select Districts',
                )),
              ],
            );
          }),
        ),
      ],
    );
  }
}

在此处输入图像描述

在此处输入图像描述

标签: flutterdart

解决方案


SingleChildScrollView,Expanded

  Expanded(
              child: SingleChildScrollView(
                child: Column(

它在你的情况下解决了吗?


推荐阅读