From 3bec8e27625093aa7c8b9265a63abdf3878948f0 Mon Sep 17 00:00:00 2001 From: bluesea <307723040@qq.com> Date: Thu, 16 May 2024 11:22:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../localimgscanpage_controller.dart | 16 +++++++++++++--- .../localimgscanpage/localimgscanpage_view.dart | 12 ++++++++---- wallpaper/lib/utils/dbmanager.dart | 2 +- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/wallpaper/lib/pages/localimgscanpage/localimgscanpage_controller.dart b/wallpaper/lib/pages/localimgscanpage/localimgscanpage_controller.dart index cac1526..9576236 100644 --- a/wallpaper/lib/pages/localimgscanpage/localimgscanpage_controller.dart +++ b/wallpaper/lib/pages/localimgscanpage/localimgscanpage_controller.dart @@ -16,14 +16,24 @@ class LocalImgScanPageController extends GetxController { Timer? _timer; var isAndroid = Platform.isAndroid; var albumPermisonisDenied = false.obs; - var localDir = RxString(DBManager.localDir); + // var localDir = RxString(DBManager.localDir); + var localDir = ""; @override - void onInit() async { + void onInit() { super.onInit(); currentIndex.value = Get.arguments["index"]; dataModel.value = Get.arguments["dataItems"]; pcontroller = PageController(initialPage: currentIndex.value); + + } + +@override + void onReady() async { + // TODO: implement onReady + super.onReady(); + localDir = await LocalImgManager.getImgLocalDir(); + refresh(); } @override @@ -44,7 +54,7 @@ class LocalImgScanPageController extends GetxController { Future < void> saveImgToAlbum() async { String imgUrl = '$localDir/${dataModel[currentIndex.value].localUrl!}'; - await DownloadManager.saveNetworkImage(imgUrl); + await DownloadManager.saveLocalImage(imgUrl); //如果是android,还应该调用设置壁纸的功能 //.... //给结果提示框 diff --git a/wallpaper/lib/pages/localimgscanpage/localimgscanpage_view.dart b/wallpaper/lib/pages/localimgscanpage/localimgscanpage_view.dart index 0cd9c20..a038756 100644 --- a/wallpaper/lib/pages/localimgscanpage/localimgscanpage_view.dart +++ b/wallpaper/lib/pages/localimgscanpage/localimgscanpage_view.dart @@ -18,7 +18,7 @@ class LocalImgScanPageView extends GetView { @override Widget build(BuildContext context) { - return Obx(() => Scaffold( + return Scaffold( extendBodyBehindAppBar: true, backgroundColor: Colors.black, appBar:PreferredSize( @@ -33,7 +33,9 @@ class LocalImgScanPageView extends GetView { ), body: Stack( children: [ - PhotoViewGallery.builder( + GetBuilder( + builder: (logic) { + return PhotoViewGallery.builder( scrollPhysics: const BouncingScrollPhysics(), builder: (BuildContext context, int index) { return PhotoViewGalleryPageOptions( @@ -65,7 +67,9 @@ class LocalImgScanPageView extends GetView { onPageChanged: onPageChanged, - ), + ); + }, + ), Align( alignment: Alignment.bottomCenter, child: Container( @@ -83,7 +87,7 @@ class LocalImgScanPageView extends GetView { ), ], ), - )); + ); } void onPageChanged(int index){ diff --git a/wallpaper/lib/utils/dbmanager.dart b/wallpaper/lib/utils/dbmanager.dart index 81a0298..ab2671a 100644 --- a/wallpaper/lib/utils/dbmanager.dart +++ b/wallpaper/lib/utils/dbmanager.dart @@ -21,7 +21,7 @@ class DBManager { static late String localDir; static Future initAdapter()async { - DBManager.localDir = await LocalImgManager.getImgLocalDir(); + // DBManager.localDir = await LocalImgManager.getImgLocalDir(); await Hive.initFlutter(); Hive.registerAdapter(LocalImageInfoAdapter()); var downloadAlbums = await Hive.openBox('DownloadAlbums');