Каков наилучший способ сопоставить масштабирование launch_background android с флаттером Image.asset? - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь создать плавный переход от заставки запуска к всплывающей анимации.

Чтобы получить размеры изображений, соответствующие первому кадру, необходимо заранее знать соотношение пикселей на устройстве, однакоa MediaQuery.of () задерживает трепетание изображения, вызывая вспышку между изображением запуска и трепетанием Image.asset ().

Есть ли способ отложить заставку запуска?или возможно захватить это вместо загрузки изображения снова?или получить устройство PixelRatio другим способом?

Спасибо

 Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        widget.child,
        IgnorePointer(
          child: Transform.scale(
            scale: _scale,
            alignment: Alignment.center,
            child: Image.asset(
              "assets/images/splash.png",
              fit: BoxFit.none,
              filterQuality: FilterQuality.low,
              color: Color.fromRGBO(255, 255, 255, _opacity),
              colorBlendMode: BlendMode.modulate,
              // this needs to be devicePixelRatio to match system splash
              // BUT calling MediaQuery.of(context) here to get this value 
              // delays the image causing a flash... TODO
              scale: 2.6, // MediaQuery.of(context).devicePixelRatio,
              width: double.infinity,
              height: double.infinity,
            ),
          ),
        ),
      ],
    );
  }
...