#flutter
Вопрос:
child.hasSize': is not true. widget causing error tabbarview
Тогда произошла ошибка, из-за которой у меня constrained
был размер, как я думал textboxes
, вызывающий error
. Но теперь constrained box
это также показывает, что это так not constrained
. Что это такое и как это исправить?
Widget build(BuildContext context) {
onlineStatus = true;
return ConstrainedBox(
constraints: BoxConstraints(maxHeight: 200, maxWidth:200),
child: Container(
width: 200,
height: 200,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ConstrainedBox(
constraints: BoxConstraints(maxHeight: 100, maxWidth: 100),
child: OnlineIndicator()),
SizedBox(height: 7),
ToolSetButton(
svgPicPath: svgStakPath,
width: 35,
height: 35,
function: testFunc),
SizedBox(height: 11),
Ответ №1:
было бы лучше, если бы вы поделились TabBar
своим . Вот концепция, которую я получаю из этого code
, и ошибки.
С верхнего уровня ConstrainedBox
Column
мы обещали , что этот виджет столбца займет maxHeight: 200
, и если вы получите наш пользовательский интерфейс меньше 200, он создаст переполнение (когда размер дочерних столбцов>=200)
давайте проверим наши Column inside ConstrainedBox
.
как мы и обещали здесь, отдадим maxHeight: 100
только за Container
, и поэтому на это уйдет 100 .
давайте проверим рост детей
- Контейнер = 100
- размер коробки = 10
- Контейнер = 35
- Размер коробки = 11
Таким образом, столбец будет принимать минимум=155 в качестве высоты, и этот виджет parent
будет меньше 156
высоты, он создаст нижний поток.
Изображение с высотой 156
Изображение в то время как высота
Ответ №2:
Я прошел через свою собственную проблему и нашел решение. Если у вас есть виджеты, которые включают текстовые поля и т.д., И если вы хотите разместить виджет внутри строк, вам нужно обернуть его sizedbox, expanded, flexible
и т.д. и указать ширину.