При обратном нажатии страница снова переходит в начало списка ошибок - PullRequest
0 голосов
/ 06 июня 2019

У меня есть imageUrlList, который onTap открывает изображение в полноэкранном режиме, но когда я возвращаюсь назад к списку изображений, оно переходит вверх страницы к первому изображению, тогда я должен прокрутить весь путь вниз.

class _PageOneState extends State<PageOne> with AutomaticKeepAliveClientMixin<PageOne> {
  ScrollController scroller = ScrollController();
  @override
  bool get wantKeepAlive => true;
  List<dynamic> imageUrlList;
  getImageUrls() async {
    var url = 'https://motivational.firebaseio.com/PNG.json';
    await http.get(url).then((res) {
      if (res.statusCode == 200) {
        var resData = json.decode(res.body);
        setState(() {
          imageUrlList = resData['URL'];
        });}
    });
  }
  @override
  void initState() {
    super.initState();
    getImageUrls();
  }
@override
  Widget build(BuildContext context) {
    super.build(context); 
    return Scaffold(
      resizeToAvoidBottomPadding: false,
      body:imageUrlList != null ?
      StaggeredGridView.countBuilder(
        key: UniqueKey(),
        padding: const EdgeInsets.all(8.0),
        crossAxisCount: 4,
        itemCount:  imageUrlList.length,
        itemBuilder: (BuildContext context,int index) {
          String imgPath =imageUrlList[index].toString();
          return new Material(
            elevation: 8.0,
            borderRadius:
            new BorderRadius.all(new Radius.circular(8.0)),
            child: new InkWell(
              onTap: () {
              Navigator.push(
                    context,
                    new MaterialPageRoute(
                        builder: (context) =>
                        new FullScreenImagePage(imgPath)));
              },
              child: new Hero(
                tag: imgPath,
                child: new FadeInImage(
                  //  image: new NetworkImage(imgPath),
                  image: new CachedNetworkImageProvider(imgPath),
                  fit: BoxFit.cover,
                  placeholder: new AssetImage("assets/pbv.png"),
                ),
              ),
            ),
          );
        },
        staggeredTileBuilder: (i) =>
        new StaggeredTile.count(2, i.isEven ? 2 : 3),
        mainAxisSpacing: 8.0,
        crossAxisSpacing: 8.0,
      )
          : new Center(
        child: new CircularProgressIndicator(),
      ),

    );

  }
}

есть ли функция для прикрепления к этому конкретному изображению даже после того, как я открою его на полном экране.

1 Ответ

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

Попробуй это.Navigator.of (контекст) .pushNamed ( '/ screen2');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...