在Flutter中如何调整IconButton的大小(高度和宽度)?似乎它采用默认的宽度和高度。没有高度或宽度属性。
new IconButton(
padding: new EdgeInsets.all(0.0),
color: themeData.primaryColor,
icon: new Icon(Icons.clear, size: 18.0),
onPressed: onDelete,
)
在Flutter中如何调整IconButton的大小(高度和宽度)?似乎它采用默认的宽度和高度。没有高度或宽度属性。
new IconButton(
padding: new EdgeInsets.all(0.0),
color: themeData.primaryColor,
icon: new Icon(Icons.clear, size: 18.0),
onPressed: onDelete,
)
SizedBox(
height: 18.0,
width: 18.0,
child: IconButton(
padding: EdgeInsets.all(0.0),
color: themeData.primaryColor,
icon: Icon(Icons.clear, size: 18.0),
onPressed: onDelete,
)
)
有一种比已接受答案更新的方法。它看起来像这样:
IconButton(
iconSize: 18.0,
icon: new Icon(Icons.clear)
所以使用iconSize属性并去掉SizedBox即可。
我注意到旧的已被接受的解决方案在按下按钮时具有不良绘图效果。
Icon
的 size
属性,而不是 IconButton
的 iconSize
属性。 - Alex Hartford您可以使用InkWell替换IconButton:
InkWell(
child: Icon(Icons.clear, size: 18.0, color: themeData.primaryColor),
onTap: onDelete,
),
使用IconButton
上的constraints
属性:
IconButton(
constraints: BoxConstraints(maxHeight: 36),
icon: new Icon(Icons.clear, size: 18.0),
)
IconButton(
splashRadius: 12,
padding: EdgeInsets.zero,
icon: Icon(
Icons.visibility,
color: Theme.of(context).primaryColorDark,
),
)
IconButton的命中区域是能够感知用户交互的区域,它的最小尺寸为kMinInteractiveDimension(48.0),无论图标的实际大小如何。
IconButton(
icon: Image.asset(
"assets/images/play_3x.png",
height: 100,
width: 100,
color: Colors.white,
)