Flutter中如何去除DropDownButton的默认内边距?

7
我希望实现一个类似这样的效果,即我的下拉按钮具有非常少的填充。

enter image description here

这是我目前拥有的

enter image description here

到目前为止,我已经尝试过调整dropDownButton的高度,使用容器进行包裹,分配填充,但都没有起作用。

这是我的代码:

Container(
      child: Center(
        child: DropdownButtonHideUnderline(
          child: ButtonTheme(
            alignedDropdown: true,
            child: DropdownButton<String>(
              dropdownColor: AppColors().white,
              value: value,
              style: TextStyles().medium12,
              icon: Icon(
                Icons.keyboard_arrow_down,
                color: AppColors().green,
              ),
              onChanged: (newValue) {
                setState(() {
                  value = newValue!;
                });
              },
              items: <String>[
                AppStrings().getString().english_language,
                AppStrings().getString().arabic_language,
                AppStrings().getString().urdu_language,
              ].map<DropdownMenuItem<String>>((String value) {
                return DropdownMenuItem<String>(
                  value: value,
                  child: Text(
                    value,
                  ),
                );
              }).toList(),
            ),
          ),
        ),
      ),
      padding: EdgeInsets.only(
        left: 10.w,
        right: 10.w,
      ),
      decoration: BoxDecoration(
        border: Border.all(color: AppColors().green, width: 6.w),
        borderRadius: BorderRadius.all(
            Radius.circular(25.r) //         <--- border radius here
        ),
      ),
    );

有人可以帮我吗?非常感谢

1个回答

27

只需设置 DropdownButtonisDense: true 属性即可。


1
这个选项只适用于DropDownButton,而不适用于Items,是吗? - raw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接