В Flutter - Как передать изображение, загруженное с URL - PullRequest
1 голос
/ 08 апреля 2020

Через API я получаю данные объекта - включая его URL. Я показываю на одном экране изображение с URL (Image.Network ()). Теперь, после нажатия на это изображение в списке, я хочу перейти к просмотру одного изображения - как передать изображение, а не URL-адрес, в новое представление, чтобы приложение не загружало его из URL-адреса снова?

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

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

Navigator.push(
          context, MaterialPageRoute(builder: (context) => OtherClass(data: image)));

и в Другой класс получить изображение как

   var data;

   OtherClass({Key key, @required this.data}) : super(key: key);
0 голосов
/ 08 апреля 2020

Мой код:

onTap: () {
            Navigator.push(context, MaterialPageRoute(builder: (_) {
            return DetailScreen(url: users[index].url);
        }));
    },
[...]
class DetailScreen extends StatelessWidget {
    final String url;

    DetailScreen({Key key, @required this.url})
        : assert(url != null),
            super(key: key);
    @override
    Widget build(BuildContext context) {
        return Scaffold(
            body: GestureDetector(
                child: Center(
                    child: PhotoView(
                        imageProvider: NetworkImage(url),
                    )
                ),
                onTap: () {
                    Navigator.pop(context);
                },
            ),
        );
    }
}
...