Не могу заполнить фон с изображением - PullRequest
0 голосов
/ 14 июня 2019

Я новичок здесь, поэтому заранее прошу прощения за любые ошибки, которые могут нарушить правила этой платформы.

У меня проблема с заполнением моего приложения для Android фоновым изображением.Я пытался следовать этому , но получил исключение при рендеринге.

Код, который не использует класс [SizedBox], выглядит следующим образом:

return Scaffold(
      appBar: new AppBar(title: Text("Progresso nel edilizia")),

      body: SingleChildScrollView(
          child: Container(
            decoration: const BoxDecoration(
              image: DecorationImage(
                image: AssetImage('assets/login_background.jpg'),
                fit: BoxFit.cover
              )
            ),
            child: LoginBody(),
        ) 
      ),
    );

Выход: https://ibb.co/0srf6dN

Ответы [ 3 ]

0 голосов
/ 14 июня 2019

Попробуйте, но убедитесь, что изображение, которое вы используете, имеет правильное соотношение сторон, чтобы соответствовать высоте.

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(title: Text("Progresso nel edilizia")),
      body: SingleChildScrollView(
          child: Container(
        height: MediaQuery.of(context).size.height,
        decoration: const BoxDecoration(
            image: DecorationImage(
                image: AssetImage('assets/login_background.jpg'),
                fit: BoxFit.fitHeight)),
        child: Container(),
      )),
    );
  }
0 голосов
/ 15 июня 2019

Используйте стек с контейнером, используя всю ширину и высоту экрана на заднем плане. Как это:

return Scaffold(
  appBar: AppBar(title: Text("Progresso nel edilizia")),
  body: Stack(
    children: <Widget>[
      Container(
        width: double.infinity,
        height: double.infinity,
        decoration: const BoxDecoration(
          image: DecorationImage(
            image: AssetImage('assets/login_background.jpg'),
            fit: BoxFit.cover,
          ),
        ),
      ),
      SingleChildScrollView(
        child: LoginBody(),
      ),
    ],
  ),
);
0 голосов
/ 14 июня 2019

Попробуйте код ниже

   return Scaffold(
  body: Container(
    decoration: BoxDecoration(
      image: DecorationImage(
        image: AssetImage("assets/login_background.jpg"),
        fit: BoxFit.cover,
      ),
    ),
  ),
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...