提交 30ae5f45 authored 作者: yueweilu's avatar yueweilu

图片预览 按照点击顺序

上级 0076ac32
...@@ -3,6 +3,7 @@ library image_view; ...@@ -3,6 +3,7 @@ library image_view;
import 'package:extended_image/extended_image.dart'; import 'package:extended_image/extended_image.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_book/utils/index.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
......
...@@ -2,9 +2,11 @@ part of image_view; ...@@ -2,9 +2,11 @@ part of image_view;
class ImageViewPage extends StatefulWidget { class ImageViewPage extends StatefulWidget {
final List<String>images; final List<String>images;
final int currentIndex;
const ImageViewPage({ const ImageViewPage({
Key? key, Key? key,
required this.images required this.images,
required this.currentIndex
}) : super(key: key); }) : super(key: key);
@override @override
...@@ -36,15 +38,16 @@ class _ImageViewPageState extends State<ImageViewPage> { ...@@ -36,15 +38,16 @@ class _ImageViewPageState extends State<ImageViewPage> {
color: Colors.black, color: Colors.black,
child: ExtendedImageGesturePageView.builder( child: ExtendedImageGesturePageView.builder(
controller: ExtendedPageController( controller: ExtendedPageController(
initialPage: 0, initialPage: widget.currentIndex,
pageSpacing: 50, pageSpacing: 50,
), ),
onPageChanged: (int page) { onPageChanged: (int page) {
// _preloadImage(page - 1); _preloadImage(page - 1);
// _preloadImage(page + 1); _preloadImage(page + 1);
}, },
itemCount: widget.images.length, itemCount: widget.images.length,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
Console.log('-index---------------------------$index----');
return GestureDetector( return GestureDetector(
onTap: (){ onTap: (){
context.pop(); context.pop();
......
...@@ -165,7 +165,7 @@ class BuildNote extends StatelessWidget { ...@@ -165,7 +165,7 @@ class BuildNote extends StatelessWidget {
List<String>images = model.noteContent?.image?.map((MediaModel model) => model.content??'').toList()??[]; List<String>images = model.noteContent?.image?.map((MediaModel model) => model.content??'').toList()??[];
return GestureDetector( return GestureDetector(
onTap: (){ onTap: (){
context.pushNamed(Routes.imageView,extra:images); context.pushNamed(Routes.imageView,extra:images,queryParameters: {'index': index.toString()});
}, },
child: Stack( child: Stack(
children: [ children: [
......
...@@ -711,6 +711,7 @@ abstract class Routes { ...@@ -711,6 +711,7 @@ abstract class Routes {
key: state.pageKey, key: state.pageKey,
child: ImageViewPage( child: ImageViewPage(
images: state.extra as List<String>, images: state.extra as List<String>,
currentIndex: int.parse(state.uri.queryParameters['index'].toString()),
) )
) )
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论