Flutter 如何扩展此乐蒂动画以填充整个屏幕-颤振

Flutter 如何扩展此乐蒂动画以填充整个屏幕-颤振,flutter,animation,lottie,Flutter,Animation,Lottie,我目前正在我的应用程序中制作渐变背景动画。。。我是在乐蒂动画的帮助下这么做的!我试着把它装在一个容器里,并成功地做到了。然而,有一个问题,我不能使容器大于一定数量,尽管我改变了高度,甚至大于2000。。。我真的不知道该怎么做才能确保屏幕上没有空白,并且这个渐变填充了所有设备的屏幕。这是代码。我还添加了一个屏幕截图,它看起来如何,以便您了解发生了什么 import 'package:flutter/material.dart'; import 'package:lottie/lottie.dart

我目前正在我的应用程序中制作渐变背景动画。。。我是在乐蒂动画的帮助下这么做的!我试着把它装在一个容器里,并成功地做到了。然而,有一个问题,我不能使容器大于一定数量,尽管我改变了高度,甚至大于2000。。。我真的不知道该怎么做才能确保屏幕上没有空白,并且这个渐变填充了所有设备的屏幕。这是代码。我还添加了一个屏幕截图,它看起来如何,以便您了解发生了什么

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class WelcomeScreen extends StatefulWidget {
  @override
  _WelcomeScreenState createState() => _WelcomeScreenState();
}

class _WelcomeScreenState extends State<WelcomeScreen> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      body: Padding(
        padding: const EdgeInsets.all(0),
        child: Container(
          height: 1000,
          width: 1000,
          child: Lottie.asset('assets/gradient-background.json'),
        ),
      ),
    ));
  }
}


我是一个新手,所以如果这是一个非常愚蠢的错误,请原谅我!非常感谢,我真的很感谢你的帮助

使用扩展的小部件,不要使用任何填充。您不需要提及容器的高度或宽度,并且在容器的装饰中使用background属性

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class WelcomeScreen extends StatefulWidget {
  @override
  _WelcomeScreenState createState() => _WelcomeScreenState();
}

class _WelcomeScreenState extends State<WelcomeScreen> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Expanded(
          child: Container(
            decoration: BoxDecoration(
                image: DecorationImage(
                  image: AssetImage('assets/gradient-background.json'),
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

此外,您还可以在颤振中创建自定义渐变,而不是使用背景照片。

使用扩展的小部件,不要使用任何填充。您不需要提及容器的高度或宽度,并且在容器的装饰中使用background属性

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class WelcomeScreen extends StatefulWidget {
  @override
  _WelcomeScreenState createState() => _WelcomeScreenState();
}

class _WelcomeScreenState extends State<WelcomeScreen> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Expanded(
          child: Container(
            decoration: BoxDecoration(
                image: DecorationImage(
                  image: AssetImage('assets/gradient-background.json'),
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

您也可以在“颤振”中自定义渐变,而不必使用背景照片。

首先,我要感谢大家的帮助。特别感谢Nehal,因为他让我了解了fit属性,这是乐天资产动画的一个特点!非常感谢,这是正确的代码:

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class WelcomeScreen extends StatefulWidget {
  @override
  _WelcomeScreenState createState() => _WelcomeScreenState();
}

class _WelcomeScreenState extends State<WelcomeScreen> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      body: Container(
        height: double.infinity,
        width: double.infinity,
        child:
            Lottie.asset('assets/gradient-background.json', fit: BoxFit.cover),
      ),
    ));
  }
}

首先,我要感谢大家的帮助。特别感谢Nehal,因为他让我了解了fit属性,这是乐天资产动画的一个特点!非常感谢,这是正确的代码:

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class WelcomeScreen extends StatefulWidget {
  @override
  _WelcomeScreenState createState() => _WelcomeScreenState();
}

class _WelcomeScreenState extends State<WelcomeScreen> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      body: Container(
        height: double.infinity,
        width: double.infinity,
        child:
            Lottie.asset('assets/gradient-background.json', fit: BoxFit.cover),
      ),
    ));
  }
}

我也尝试了高度和宽度的double.infinity,但它产生的结果与上面的图片相同我也尝试了高度和宽度的double.infinity,但它产生的结果与上面的图片相同这是我运行代码时得到的错误顺便说一下,我使用的是乐透动画,所以我不能使用图像,因为渐变不会动画这是我运行代码时遇到的错误顺便说一下,我使用的是乐透动画,所以我不能使用图像,因为渐变不会动画