【发布时间】:2020-08-15 21:39:16
【问题描述】:
我正在尝试添加一个覆盖设备宽度和高度的图像,该图像还需要在其上添加文本。起初,当我在 Image.dart 文件上添加图像时,我使用了fit: BoxFit.fill,这样图像就可以覆盖整个屏幕并且可以正常工作。然后为了在图像上放置文本,我添加了包含图像和文本的 Stack 小部件,一旦我这样做,文本就在图像上方,但现在图像没有覆盖全屏高度。为什么会出现这个问题?
// main.dart
void main() {
runApp(MaterialApp(home: MyApp()));
}
class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: ImageContainer(),
);
}
}
// ImageContainer.dart
class ImageContainer extends StatelessWidget {
Widget build(BuildContext context) {
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Stack(
children: [
MainImage("assets/images/startwars.jpg"),
Positioned(
bottom: 0,
left: 0,
child: Container(
child: Text(
"someText",
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: Colors.white),
)
),
)
],
)
],
),
);
}
}
// Image.dart
class MainImage extends StatelessWidget {
final String _assetPath;
MainImage(this._assetPath);
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(color: Colors.red,),
child: Expanded(
child: Image.asset(
_assetPath,
fit: BoxFit.fill,
),
),
);
}
}
如果您有任何问题,请在 cmets 中告诉我;)
【问题讨论】:
标签: flutter dart flutter-layout