Как установить фоновое изображение во флаттере?

Я недавно начал изучать флаттер, я хочу добавить фоновое изображение, и на нем я хочу добавить две плоские кнопки, но я не могу это сделать, я добавил фоновое изображение в код, но оно не работает Я не понять проблему. Может ли кто-нибудь мне помочь?

    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.

Другие вопросы по тегам