Как установить фоновое изображение во флаттере?
Я недавно начал изучать флаттер, я хочу добавить фоновое изображение, и на нем я хочу добавить две плоские кнопки, но я не могу это сделать, я добавил фоновое изображение в код, но оно не работает Я не понять проблему. Может ли кто-нибудь мне помочь?
void main() {
return runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
title: Text('Ani & genny',
style: TextStyle(
fontFamily: 'Pacifico',
color: Colors.white,
)),
backgroundColor: Colors.red,
),
body: MyApp(),
),
),
);
}
class MyApp extends StatelessWidget {
void navigateToPage() {
print('Button pressed!!!!');
}
@override
Widget build(BuildContext context) {
return Center(
child: Column(
children: <Widget>[
SizedBox(
height: 50,
),
Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("images/Ani.png"),
fit: BoxFit.cover
),
),
),
FlatButton(
child: Image.asset(
'images/li.png',
height: 120,
width: 120,
),
onPressed: () {
navigateToPage();
}),
),
],
),
);
}
}
2 ответа
Сначала постучите по центру контейнером.
Container(
decoration:BoxDecoration(
image:DecorationImage(
fit:BoxFit.fill
image: AssetImage("images/Ani.png"),
)
)
child:Center(
)
)
BoxFit.fill заставит изображение полностью покрыть контейнер
Вот пример кода, который помещает кнопку на изображение. Вы можете использовать позиционированный виджет, чтобы разместить там, где вам нужно.
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Image.network(
'https://picsum.photos/250?image=9',
),
FlatButton(
child: Text("Submit"),
onPressed: () {
navigateToPage();
}),
],
),
);
}
}
Вы можете запустить этот код здесь, на codepen.