Flutter:为什么无法更改后缀图标大小

wpcxdonn  于 2022-12-14  发布在  Flutter
关注(0)|答案(5)|浏览(269)

我想自定义TextField右边的Icon,但是使用Image后Icon的大小无法更改。如果使用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,
                        ),
                      ),
                    ),
                  ),
                ),
pkbketx9

pkbketx91#

现在可以使用suffixIconConstraints调整后缀图标的大小

decoration: InputDecoration(
                    suffixIconConstraints: BoxConstraints(
                      minHeight: 24,
                      minWidth: 24
                    ),
                      suffixIcon: Icon(Icons.arrow_drop_down_sharp, color: AppColors.heather),);
kognpnkq

kognpnkq2#

这个问题已经解决了。
在Container中添加填充。
下面的代码:

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,
                    ),
                  ),
                ),
              ),
            ),
wfsdck30

wfsdck303#

suffixIcon小部件 Package 在UnconstrainedBox中。

nue99wik

nue99wik4#

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

),

zkure5ic

zkure5ic5#

只需使用Container Package Widget并为其设置width属性

TextField(
decoration: InputDecoration(
    hintText: 'Enter Name',
    suffixIcon:Container(
        width:100 //Set it according to your need
        color: Colors.cyan,
        child: Image.asset(...)
      )
   ),
),

相关问题