Flutter:为什么我不能更改后缀图标的大小

时间:2019-02-19 10:10:31

标签: flutter textfield

我想自定义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,
                        ),
                      ),
                    ),
                  ),
                ),

4 个答案:

答案 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,
            ),
        )
    ),
),

),