Как установить фоновое изображение в флаттере? - PullRequest
0 голосов
/ 03 мая 2020

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

    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 ]

1 голос
/ 03 мая 2020

Вот пример кода, который помещает кнопку на изображение. Вы можете использовать позиционированный виджет для размещения где вам нужно.

@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.

0 голосов
/ 03 мая 2020

FlatButton не отображается, потому что вы не дали свои Container a height и width. Исправьте это, указав Container высоту и ширину. Проверьте код ниже:

Center(
      child: Column(
        children: <Widget>[
          SizedBox(
            height: 50,
          ),
          Container(
            // define your desired height here
            height: 50,
            // define your desired width here
            width: 120,
            decoration: BoxDecoration(
              color: Colors.white,
              image: DecorationImage(
                image: AssetImage("images/Ani.png"),
                fit: BoxFit.cover,
              ),
            ),
          ),
          FlatButton(
              child: Image.asset(
                'images/li.png',
                height: 120,
                width: 120,
              ),
              onPressed: () {
                navigateToPage();
              }),
        ],
      ),
    );

Надеюсь, это поможет.

...