From 2e0e6acc26151b3bad0740bd4afabe68b95e8a6a Mon Sep 17 00:00:00 2001 From: bluesea <307723040@qq.com> Date: Wed, 15 May 2024 11:51:05 +0800 Subject: [PATCH] fdsa --- .../imgcategorypage_controller.dart | 15 ++++++-- .../imgcategorypage/imgcategorypage_view.dart | 38 ++++++++++++------- wallpaper/lib/utils/downloadmanager.dart | 4 ++ wallpaper/lib/utils/local_img_manager.dart | 2 + wallpaper/pubspec.lock | 16 ++++++++ wallpaper/pubspec.yaml | 3 ++ 6 files changed, 61 insertions(+), 17 deletions(-) diff --git a/wallpaper/lib/pages/imgcategorypage/imgcategorypage_controller.dart b/wallpaper/lib/pages/imgcategorypage/imgcategorypage_controller.dart index 5540756..5088ee5 100644 --- a/wallpaper/lib/pages/imgcategorypage/imgcategorypage_controller.dart +++ b/wallpaper/lib/pages/imgcategorypage/imgcategorypage_controller.dart @@ -2,11 +2,12 @@ import 'package:get/get.dart'; import 'package:wallpaper/models/imgnetodel.dart'; import 'package:wallpaper/routes/app_routes.dart'; import 'package:wallpaper/utils/downloadmanager.dart'; - +import 'dart:io'; class ImgCategoryPageController extends GetxController { var stitle = RxString(""); // ignore: prefer_typing_uninitialized_variables late NetImgCategory dataModel; + var isAndroid = Platform.isAndroid; @override void onInit() { @@ -29,8 +30,16 @@ class ImgCategoryPageController extends GetxController { await DownloadManager.saveNetworkImage(imgUrl); //如果是android,还应该调用设置壁纸的功能 - //.... - //给结果提示框 + // if (Platform.isAndroid) { + + // } + + //给结果提示框 + //.... + } + + void setWallpaper(String imgUrl) { + print("....set wall...."); } } \ No newline at end of file diff --git a/wallpaper/lib/pages/imgcategorypage/imgcategorypage_view.dart b/wallpaper/lib/pages/imgcategorypage/imgcategorypage_view.dart index 5209d2e..9d1a243 100644 --- a/wallpaper/lib/pages/imgcategorypage/imgcategorypage_view.dart +++ b/wallpaper/lib/pages/imgcategorypage/imgcategorypage_view.dart @@ -82,20 +82,7 @@ class ImgCategoryPageView extends GetView { mainAxisSize: MainAxisSize.max, // 交叉轴的布局方式,对于column来说就是水平方向的布局方式 crossAxisAlignment: CrossAxisAlignment.center, - children: [ - IconButton(onPressed:() { - print("download...."); - - controller.downloadImg(imgUrl); - - }, icon: Icon(Icons.download),color: Colors.white,), - - IconButton(onPressed:() { - print("设置壁纸"); - controller.saveImgToAlbum(imgUrl); - - }, icon: Icon(Icons.wallpaper),color: Colors.white,), - ], + children: getButtomWidge(imgUrl), ), ), ), @@ -107,7 +94,30 @@ class ImgCategoryPageView extends GetView { } + List getButtomWidge(String imgUrl){ + List wg = [ + IconButton(onPressed:() { + print("download...."); + + controller.downloadImg(imgUrl); + }, icon: Icon(Icons.download),color: Colors.white,), + + IconButton(onPressed:() { + print("保存至相册"); + controller.saveImgToAlbum(imgUrl); + + }, icon: Icon(Icons.album),color: Colors.white,), + ]; + if (controller.isAndroid) { + wg.add(IconButton(onPressed:() { + print("设置壁纸"); + controller.setWallpaper(imgUrl); + + }, icon: Icon(Icons.wallpaper),color: Colors.white,)); + } + return wg; + } } \ No newline at end of file diff --git a/wallpaper/lib/utils/downloadmanager.dart b/wallpaper/lib/utils/downloadmanager.dart index c10939f..646e92b 100644 --- a/wallpaper/lib/utils/downloadmanager.dart +++ b/wallpaper/lib/utils/downloadmanager.dart @@ -4,6 +4,7 @@ import 'package:flutter/foundation.dart'; import 'package:image_gallery_saver/image_gallery_saver.dart'; import 'package:wallpaper/utils/local_img_manager.dart'; import 'package:permission_handler/permission_handler.dart'; +import 'package:async_wallpaper/async_wallpaper.dart'; class DownloadManager { static Future downloadImgWithUrl(String urlStr) async { @@ -66,6 +67,9 @@ class DownloadManager { quality: 60, name: "hello"); print(result); + + + } diff --git a/wallpaper/lib/utils/local_img_manager.dart b/wallpaper/lib/utils/local_img_manager.dart index c38e436..b4b5e07 100644 --- a/wallpaper/lib/utils/local_img_manager.dart +++ b/wallpaper/lib/utils/local_img_manager.dart @@ -9,6 +9,8 @@ import 'dart:convert'; import 'package:crypto/crypto.dart'; + + class LocalImgManager { static Future getImgLocalDir() async { Directory dir = await getApplicationCacheDirectory(); diff --git a/wallpaper/pubspec.lock b/wallpaper/pubspec.lock index defaf75..0d32cc7 100644 --- a/wallpaper/pubspec.lock +++ b/wallpaper/pubspec.lock @@ -33,6 +33,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.11.0" + async_wallpaper: + dependency: "direct main" + description: + name: async_wallpaper + sha256: d4cf1fff78cf91982b447c82ab5248a7921996b95a43772a6fc7c971bd976ded + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.3" boolean_selector: dependency: transitive description: @@ -304,6 +312,14 @@ packages: description: flutter source: sdk version: "0.0.0" + fluttertoast: + dependency: transitive + description: + name: fluttertoast + sha256: "81b68579e23fcbcada2db3d50302813d2371664afe6165bc78148050ab94bf66" + url: "https://pub.flutter-io.cn" + source: hosted + version: "8.2.5" frontend_server_client: dependency: transitive description: diff --git a/wallpaper/pubspec.yaml b/wallpaper/pubspec.yaml index 09023a1..a61deb3 100644 --- a/wallpaper/pubspec.yaml +++ b/wallpaper/pubspec.yaml @@ -54,6 +54,9 @@ dependencies: #随机生成文件名 crypto: ^3.0.3 + + #android设置壁纸 + async_wallpaper: ^2.0.3 #将图片导出到相册 image_gallery_saver: ^2.0.3