我想自定义TextField右侧的Icon,但是使用Image后不能更改Icon的大小。如果使用图标,可以更改它,为什么?如何使用自定义图像并调整其大小?
new TextField(
decoration: InputDecoration(
hintText: '请输入密码',
suffixIcon: new GestureDetector(
onTap: () {},
child: new Container(
color: Colors.cyan,
child: Image(
image: AssetImage(
'images/login/icon_show_sel.png',
),
height: 20,
width: 20,
),
),
),
),
),
答案 0 :(得分:2)
将suffixIcon
小部件包装在UnconstrainedBox
中。
答案 1 :(得分:0)
此问题已解决。
在容器中添加填充。
以下代码:
new TextField(
decoration: InputDecoration(
hintText: '请输入密码',
suffixIcon: new GestureDetector(
onTap: () {},
child: new Container(
padding: EdgeInsets.symmetric(vertical: 10),
child: Image(
image: AssetImage(
'images/login/icon_show_sel.png',
),
height: 20,
width: 20,
),
),
),
),
),
答案 2 :(得分:0)
您现在可以使用 suffixIconConstraints
来调整suffixIcon的大小decoration: InputDecoration(
suffixIconConstraints: BoxConstraints(
minHeight: 24,
minWidth: 24
),
suffixIcon: Icon(Icons.arrow_drop_down_sharp, color: AppColors.heather),);
答案 3 :(得分:0)
TextField(
decoration: InputDecoration(
hintText: '请输入密码',
suffixIcon: new GestureDetector(
onTap: () {},
child: Container(
padding: EdgeInsets.all(15.0),
color: Colors.cyan,
constraints: BoxConstraints(
maxHeight: 10.0,
maxWidth: 10.0,
),
child: Image(
image: AssetImage(
'images/login/icon_show_sel.png',
),
height: 20,
width: 20,
),
)
),
),
),