我想根据文本
Sign in
高度设置行高。
因此,图标和图像标志应与此高度相匹配。但事实并非如此。
当文字较小时,图像和图标也应该较小。
Container(
color: Colors.pink[700],
child: IntrinsicHeight(
child: Row(
// crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Text("Sign in", style: TextStyle(fontSize: 64)),
FittedBox(
child: Icon(
Icons.phone,
size: 24,
),
fit: BoxFit.fitHeight,
),
// Icon(Icons.phone),
Image(
image: AssetImage(
'assets/logos/google_light.png',
package: 'flutter_signin_button',
),
fit: BoxFit.fitHeight,
// height: 12.0,
),
// Column(
// mainAxisSize: MainAxisSize.max,
// children: [
// FlutterLogo(),
// // FittedBox(child: FlutterLogo(), fit: BoxFit.fitHeight,),
// ],
// ),
],
),
),
),
有没有一种简单的方法可以在不使用 GlobalKeys 和
findRenderObject
或外部包的情况下实现此目的?
我找到了一个临时解决方案,但欢迎更好的解决方案。这不好,因为我们必须设置一个
height:1.0
,感觉就像黑客
Container(
color: Colors.pink[700],
child: IntrinsicHeight(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
// textBaseline: TextBaseline.alphabetic,/
children: [
Container(
color: Colors.green[700],
child: Text("Sign ", style: TextStyle(fontSize: 8))),
FittedBox(
child: Icon(
Icons.phone,
size: 1,
),
fit: BoxFit.fitHeight,
),
// Icon(Icons.phone),
Image(
image: AssetImage(
'assets/logos/google_light.png',
package: 'flutter_signin_button',
),
fit: BoxFit.fitHeight,
height: 1.0,
),
// Column(
// mainAxisSize: MainAxisSize.max,
// children: [
// FlutterLogo(),
// // FittedBox(child: FlutterLogo(), fit: BoxFit.fitHeight,),
// ],
// ),
],
),
),
),