浏览代码

add to pub

cjl_macbook 6 年前
父节点
当前提交
bd8ef4b31a
共有 7 个文件被更改,包括 70 次插入38 次删除
  1. 28
    15
      README.md
  2. 21
    4
      example/lib/main.dart
  3. 4
    2
      lib/photo.dart
  4. 6
    6
      lib/src/provider/i18n_provider.dart
  5. 1
    1
      lib/src/ui/page/photo_main_page.dart
  6. 3
    5
      pubspec.lock
  7. 7
    5
      pubspec.yaml

+ 28
- 15
README.md 查看文件

1
 # photo
1
 # photo
2
 
2
 
3
-## 内测中
3
+image picker, multi picker
4
+use flutter as ui
5
+
6
+if you want to build custom ui, you just need api to make custom ui. to use [photo_manager](https://github.com/CaiJingLong/flutter_photo_manager)
7
+
8
+## screenshot
9
+!(image)[https://github.com/CaiJingLong/some_asset/blob/master/image_picker1.gif]
10
+
11
+## install
4
 
12
 
5
-install
6
 ```yaml
13
 ```yaml
7
 dependencies:
14
 dependencies:
8
-
9
-  photo:
10
-    git: https://github.com/CaiJingLong/flutter_photo
11
-    ref: 5affef481c63a314333b40b4f26e1dc689c15c00 # 这里的ref看情况修改也可
15
+  photo: ^0.0.1
12
 ```
16
 ```
13
 
17
 
14
-import
18
+## import
15
 ```dart
19
 ```dart
16
 import 'package:photo/photo.dart';
20
 import 'package:photo/photo.dart';
17
 import 'package:photo_manager/photo_manager.dart';
21
 import 'package:photo_manager/photo_manager.dart';
18
 ```
22
 ```
19
 
23
 
20
-调用
24
+## use
21
 ```dart
25
 ```dart
22
 void _pickImage() async{
26
 void _pickImage() async{
27
+  void _pickImage() async {
23
     List<ImageEntity> imgList = await PhotoPicker.pickImage(
28
     List<ImageEntity> imgList = await PhotoPicker.pickImage(
24
-      context: context,
25
-      themeColor: Colors.green,
26
-      padding: 5.0,
27
-      dividerColor: Colors.deepOrange,
28
-      disableColor: Colors.grey.shade300,
29
-      itemRadio: 0.88,
29
+      context: context, // BuildContext requied
30
+
31
+      /// The following are optional parameters.
32
+      themeColor: Colors.green, // the title color and bottom color
33
+      padding: 5.0, // item padding
34
+      dividerColor: Colors.deepOrange, // divider color 
35
+      disableColor: Colors.grey.shade300, // the check box disable color
36
+      itemRadio: 0.88, // the content item radio
37
+      maxSelected: 8, // max picker image count
38
+      provider: CNProvider(), // i18n provider ,default is chinese.
39
+      rowCount: 5,  // item row count
40
+      textColor: Colors.white, // text color
30
     );
41
     );
31
 
42
 
32
-    print(imgList);
43
+    imgList.forEach((e) async {
44
+      print(e.id);
45
+    });
33
   }
46
   }
34
 
47
 
35
 ```
48
 ```

+ 21
- 4
example/lib/main.dart 查看文件

27
 }
27
 }
28
 
28
 
29
 class _MyHomePageState extends State<MyHomePage> {
29
 class _MyHomePageState extends State<MyHomePage> {
30
+  String currentSelected = "";
30
 
31
 
31
-  void _pickImage() async{
32
+  void _pickImage() async {
32
     List<ImageEntity> imgList = await PhotoPicker.pickImage(
33
     List<ImageEntity> imgList = await PhotoPicker.pickImage(
33
       context: context,
34
       context: context,
34
       themeColor: Colors.green,
35
       themeColor: Colors.green,
36
       dividerColor: Colors.deepOrange,
37
       dividerColor: Colors.deepOrange,
37
       disableColor: Colors.grey.shade300,
38
       disableColor: Colors.grey.shade300,
38
       itemRadio: 0.88,
39
       itemRadio: 0.88,
40
+      maxSelected: 8,
41
+      provider: CNProvider(),
42
+      rowCount: 5,
43
+      textColor: Colors.white,
39
     );
44
     );
40
 
45
 
41
-    print("imgList = $imgList");
46
+    List<String> r = [];
47
+
48
+    for(var e in imgList){
49
+      var file = await e.file;
50
+      r.add(file.absolute.path);
51
+    }
52
+
53
+    currentSelected = r.join("\n\n");
54
+
55
+    setState(() {});
42
   }
56
   }
43
 
57
 
44
   @override
58
   @override
47
       appBar: new AppBar(
61
       appBar: new AppBar(
48
         title: new Text(widget.title),
62
         title: new Text(widget.title),
49
       ),
63
       ),
50
-      body: Container(),
64
+      body: Container(
65
+        child: Center(
66
+          child: Text('$currentSelected'),
67
+        ),
68
+      ),
51
       floatingActionButton: new FloatingActionButton(
69
       floatingActionButton: new FloatingActionButton(
52
         onPressed: _pickImage,
70
         onPressed: _pickImage,
53
         tooltip: 'pickImage',
71
         tooltip: 'pickImage',
55
       ),
73
       ),
56
     );
74
     );
57
   }
75
   }
58
-
59
 }
76
 }

+ 4
- 2
lib/photo.dart 查看文件

9
 import 'package:photo/src/ui/photo_app.dart';
9
 import 'package:photo/src/ui/photo_app.dart';
10
 import 'package:photo_manager/photo_manager.dart';
10
 import 'package:photo_manager/photo_manager.dart';
11
 
11
 
12
+export 'package:photo/src/provider/i18n_provider.dart' show I18NCustomProvider,I18nProvider,CNProvider,ENProvider;
13
+
12
 class PhotoPicker {
14
 class PhotoPicker {
13
   static PhotoPicker _instance;
15
   static PhotoPicker _instance;
14
 
16
 
78
     Options options,
80
     Options options,
79
     I18nProvider provider,
81
     I18nProvider provider,
80
   ) async {
82
   ) async {
81
-    var requestPermission = await ImageScanner.requestPermission();
83
+    var requestPermission = await PhotoManager.requestPermission();
82
     if (requestPermission != true) {
84
     if (requestPermission != true) {
83
       var result = await showDialog(
85
       var result = await showDialog(
84
         context: context,
86
         context: context,
87
             ),
89
             ),
88
       );
90
       );
89
       if (result == true) {
91
       if (result == true) {
90
-        ImageScanner.openSetting();
92
+        PhotoManager.openSetting();
91
       }
93
       }
92
       return null;
94
       return null;
93
     }
95
     }

+ 6
- 6
lib/src/provider/i18n_provider.dart 查看文件

18
 
18
 
19
   I18NPermissionProvider getNotPermissionText(Options options);
19
   I18NPermissionProvider getNotPermissionText(Options options);
20
 
20
 
21
-  static const I18nProvider chinese = _CNProvider();
21
+  static const I18nProvider chinese = CNProvider();
22
 
22
 
23
-  static const I18nProvider english = _ENProvider();
23
+  static const I18nProvider english = ENProvider();
24
 }
24
 }
25
 
25
 
26
-class _CNProvider extends I18nProvider {
27
-  const _CNProvider() : super._();
26
+class CNProvider extends I18nProvider {
27
+  const CNProvider() : super._();
28
 
28
 
29
   @override
29
   @override
30
   String getTitleText(Options options) {
30
   String getTitleText(Options options) {
63
   }
63
   }
64
 }
64
 }
65
 
65
 
66
-class _ENProvider extends I18nProvider {
67
-  const _ENProvider() : super._();
66
+class ENProvider extends I18nProvider {
67
+  const ENProvider() : super._();
68
 
68
 
69
   @override
69
   @override
70
   String getTitleText(Options options) {
70
   String getTitleText(Options options) {

+ 1
- 1
lib/src/ui/page/photo_main_page.dart 查看文件

148
   }
148
   }
149
 
149
 
150
   void _refreshList() async {
150
   void _refreshList() async {
151
-    var pathList = await ImageScanner.getImagePathList();
151
+    var pathList = await PhotoManager.getImagePathList();
152
     galleryPathList.clear();
152
     galleryPathList.clear();
153
     galleryPathList.addAll(pathList);
153
     galleryPathList.addAll(pathList);
154
 
154
 

+ 3
- 5
pubspec.lock 查看文件

210
   photo_manager:
210
   photo_manager:
211
     dependency: "direct main"
211
     dependency: "direct main"
212
     description:
212
     description:
213
-      path: "."
214
-      ref: c87060911e1312113a9df43bec084e0c031ac58a
215
-      resolved-ref: c87060911e1312113a9df43bec084e0c031ac58a
216
-      url: "https://github.com/CaiJingLong/flutter_photo_manager.git"
217
-    source: git
213
+      name: photo_manager
214
+      url: "https://pub.flutter-io.cn"
215
+    source: hosted
218
     version: "0.0.1"
216
     version: "0.0.1"
219
   plugin:
217
   plugin:
220
     dependency: transitive
218
     dependency: transitive

+ 7
- 5
pubspec.yaml 查看文件

1
 name: photo
1
 name: photo
2
-description: image picker, multi selector, if you want to build custom ui,you just use flutter_photo_manager.
2
+description: image picker, multi picker,use flutter as ui, if you want to build custom ui,you just use photo_manager.
3
 version: 0.0.1
3
 version: 0.0.1
4
 author: caijinglong
4
 author: caijinglong
5
 homepage: https://github.com/CaiJingLong/flutter_photo
5
 homepage: https://github.com/CaiJingLong/flutter_photo
10
 dependencies:
10
 dependencies:
11
   flutter:
11
   flutter:
12
     sdk: flutter
12
     sdk: flutter
13
-  photo_manager:
14
-    git:
15
-      url: https://github.com/CaiJingLong/flutter_photo_manager.git
16
-      ref: c87060911e1312113a9df43bec084e0c031ac58a
13
+
14
+  photo_manager: ^0.0.1
15
+#  photo_manager:
16
+#    git:
17
+#      url: https://github.com/CaiJingLong/flutter_photo_manager.git
18
+#      ref: c87060911e1312113a9df43bec084e0c031ac58a
17
 #  photo_manager:
19
 #  photo_manager:
18
 #    path: /Users/caijinglong/code/flutter/plugin/flutter_photo_manager/
20
 #    path: /Users/caijinglong/code/flutter/plugin/flutter_photo_manager/
19
 
21