【发布时间】:2022-10-17 17:01:38
【问题描述】:
早上好,我正在尝试将 DropDown 的箭头图标与提示文本对齐,但我不明白为什么渲染引擎将它定位在下面这么远。
我尝试将 InputDecoration 的 contentPadding 属性设置为 EdgeInsets.zero 并且它似乎有效。但是,它破坏了 DropDown 的 focusBorder。此外,我不明白填充附加到什么元素。
class WorkpieceFilterBox extends StatefulWidget {
const WorkpieceFilterBox({
Key? key,
}) : super(key: key);
@override
State<WorkpieceFilterBox> createState() => _WorkpieceFilterBoxState();
}
class _WorkpieceFilterBoxState extends State<WorkpieceFilterBox> {
@override
Widget build(BuildContext context) {
return SizedBox(
width: 135,
child: _buildStatusField(),
);
}
Widget _buildStatusField() {
return DropdownButtonFormField<String>(
icon: const Icon(
Icons.expand_more,
size: 30.0,
color: Color(0xFF2E2E2E),
),
hint: const Text(
'Status',
style: TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.w500,
color: Color(0xFFA6A6A6),
),
),
decoration: const InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.transparent,
width: 2.5,
),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(27.0),
bottomLeft: Radius.circular(27.0),
),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0xFFFF7321),
width: 2.5,
),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(27.0),
bottomLeft: Radius.circular(27.0),
),
),
),
items: const [
DropdownMenuItem(child: Text("Hello there")),
],
onChanged: (String? value) => print(value),
);
}
}
【问题讨论】:
标签: flutter dart flutter-layout