Установите ширину ящика на ширину самого большого дочернего элемента

#flutter #layout #drawer

#flutter #макет #выдвижной ящик

Вопрос:

Можно ли установить ширину ящика в Flutter на ширину его дочернего элемента widetst, чтобы избежать, например, отсечения заголовка DrawerHeader?

Вот как это должно выглядеть: зеленый — экран, серый — ящик

введите описание изображения здесь

Комментарии:

1. Не могли бы вы объяснить это немного подробнее?

2. Был добавлен пример

Ответ №1:

 import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: Scaffold(
        appBar: AppBar(),
        drawer: Container(
          color: Colors.grey,
          padding: EdgeInsets.symmetric(horizontal: 20),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              SafeArea(
                child: Container(
                  padding: EdgeInsets.symmetric(vertical: 24),
                  child: Text('User name'),
                ),
              ),
              Text('Text'),
              Text(
                'Long loong looooooong very very very long text',
                maxLines: 1,
              ),
            ],
          ),
        ),
      ),
    );
  }
}
 

введите описание изображения здесь