web-dev-qa-db-ja.com

ドロップダウンのFlutter DropdownMenuItemの幅/パディングをどのように変更できますか?

Flutterでは、次のようにDropdownMenuItemsを使用してドロップダウンを作成できます。 enter image description here

追加するDropdownMenuItemsは、常にドロップダウン自体よりも幅が広くなっています。

enter image description here

DropdownMenuItemの幅をどのように調整するか、余分な水平パディングを削除するにはどうすればよいですか?

私のDropdownMenuItemウィジェットは次のようになります。

DropdownMenuItem(
    value: unit.name,
    child: Text('hey'),
);

私のドロップダウンウィジェットは次のようになりますが:

return Container(
    width: 300.0,
    child: DropdownButtonHideUnderline(
      child: DropdownButton(
        value: name,
        items: listOfDropdownMenuItems,
        onChanged: onChanged,
        style: Theme.of(context).textTheme.title,
      ),
    ),
);
9
Mary

この機能が追加されました。 https://github.com/flutter/flutter/pull/14849 を参照してください

これをButtonThemeでラップし、alignedDropdownをtrueに設定できます。

return Container(
    width: 300.0,
    child: DropdownButtonHideUnderline(
      child: ButtonTheme(
        alignedDropdown: true,
          child: DropdownButton(
            value: name,
            items: listOfDropdownMenuItems,
            onChanged: onChanged,
            style: Theme.of(context).textTheme.title,
         ),
      ),
    ),
);
20
Mary

isExpandedをtrueに変更してこの問題を解決しました。

return Container(
    width: 300.0,
    child: DropdownButtonHideUnderline(
      child: DropdownButton(
        isExpanded: true,
        value: name,
        items: listOfDropdownMenuItems,
        onChanged: onChanged,
        style: Theme.of(context).textTheme.title,
      ),
    ),
);
2
malibayram91