Flutter 约束框中的颤振图标小部件
在上面的代码中,如果我将图标小部件替换为图像或文本,它们将保持在ConstrainedBox边界,但图标将变为全尺寸!为什么?Flutter 约束框中的颤振图标小部件,flutter,dart,flutter-layout,flutter-widget,flutter-image,Flutter,Dart,Flutter Layout,Flutter Widget,Flutter Image,在上面的代码中,如果我将图标小部件替换为图像或文本,它们将保持在ConstrainedBox边界,但图标将变为全尺寸!为什么? 您可以复制下面的粘贴运行完整代码 因为在Icon的源代码中,它实际上使用了RichText和textfoverflow.visible 源代码链接 源代码的代码段 class MyHome extends StatelessWidget { @override Widget build(BuildContext context) { return Sca
您可以复制下面的粘贴运行完整代码
因为在
Icon
的源代码中,它实际上使用了RichText
和textfoverflow.visible
源代码链接
源代码的代码段
class MyHome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Container(
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 100,
maxWidth: 100,
),
child: Icon(
Icons.backup,
size: 200,
),
),
));
}
}
工作演示使用RichText
Widget iconWidget = RichText(
overflow: TextOverflow.visible, // Never clip.
textDirection: textDirection, // Since we already fetched it for the assert...
text: TextSpan(
text: String.fromCharCode(icon!.codePoint),
style: TextStyle(
inherit: false,
color: iconColor,
fontSize: iconSize,
fontFamily: icon!.fontFamily,
package: icon!.fontPackage,
),
),
);
完整代码使用RichText
Widget iconWidget = RichText(
overflow: TextOverflow.visible, // Never clip.
textDirection: textDirection, // Since we already fetched it for the assert...
text: TextSpan(
text: String.fromCharCode(icon!.codePoint),
style: TextStyle(
inherit: false,
color: iconColor,
fontSize: iconSize,
fontFamily: icon!.fontFamily,
package: icon!.fontPackage,
),
),
);