Выпадающая кнопка отображает текст, обрезанный Flutter - PullRequest
1 голос
/ 27 мая 2020

Привет, у меня есть раскрывающаяся кнопка, подсказка и текст выбранного значения которой обрезаются, если слишком долго:

Должен отображаться «Код отдела / Номер отдела»

enter image description here

Код:

DropdownButton<String> dropdownList(BuildContext context) {
  return new DropdownButton<String>(
    hint: new Text(
      "Department Code / Department Number", 
    ),
    value: selectedDept,
    isDense: true,
    onChanged: (String newValue) {
      //...
    },
    items: _item.map((Dept map) {
      return new DropdownMenuItem<String>(
        value: map.code,
        child:
            new Text(map.code, style: new TextStyle(color: Colors.black)),
      );
    }).toList(),
    isExpanded: true,
  );
}


 Widget build(BuildContext context) {
    return Scaffold(
        child: Column(
            children: <Widget>[
                Container(
                  padding: EdgeInsets.fromLTRB(
                      20, 20, 10, 20),
                  decoration: ShapeDecoration(
                    shape: RoundedRectangleBorder(
                      side: BorderSide(
                          width: 1.0,
                          style: BorderStyle.solid,
                          color: Colors.grey[400]),
                      borderRadius:
                          BorderRadius.all(
                              Radius.circular(
                                  15.0)),
                    ),
                  ),
                  child:
                      DropdownButtonHideUnderline(
                          child: dropdownList(
                              context)),
                )
            ]
        )

    )
}

Есть идеи, как исправить дисплей?

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

В Container () добавьте BoxConstraints и укажите minHeight и maxHeight

constraints: new BoxConstraints(
  minHeight: 50.0,
  maxHeight: 70.0,
)
0 голосов
/ 27 мая 2020

Просто добавьте отступ, чтобы освободить пространство между вашим внутренним содержимым.

 return DropdownMenuItem<String>(
                        value: value,
                        child: Padding(
                          padding: EdgeInsets.all(4),
                          child: Text(map.code, style: new TextStyle(color: Colors.black)),
                        ),
                      );
...