diff --git a/example/pubspec.lock b/example/pubspec.lock index 3705c38..3a19683 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -81,6 +81,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.11" flutter_screenutil: dependency: transitive description: @@ -100,6 +107,34 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "3.17.1" + http: + dependency: transitive + description: + name: http + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.12.2" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.1.4" + image_picker: + dependency: transitive + description: + name: image_picker + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.6.7+15" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.1.1" intl: dependency: transitive description: @@ -135,6 +170,20 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.8.0-nullsafety.1" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.9.2" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.3" sky_engine: dependency: transitive description: flutter diff --git a/lib/ansu_ui.dart b/lib/ansu_ui.dart index 369a55a..d250bac 100644 --- a/lib/ansu_ui.dart +++ b/lib/ansu_ui.dart @@ -1,5 +1,7 @@ library ansu_ui; +import 'dart:io'; + import 'package:ansu_ui/bar/as_tab_indicator.dart'; import 'package:ansu_ui/painters/as_numeric_painter.dart'; import 'package:ansu_ui/utils/city_util.dart'; @@ -7,7 +9,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; - +import 'package:image_picker/image_picker.dart'; export 'package:flutter_screenutil/flutter_screenutil.dart'; export 'package:flutter_easyrefresh/easy_refresh.dart'; @@ -56,11 +58,11 @@ part 'divider/as_divider.dart'; part 'text_field/as_search_text_field.dart'; part 'utils/screen_adapter.dart'; +part 'utils/camera_util.dart'; part 'extension/num_extension.dart'; +part 'extension/list_extension.dart'; part 'extension/widget_extension.dart'; part 'extension/string_extension.dart'; part 'extension/text_style_extension.dart'; part 'extension/text_extension.dart'; - - diff --git a/lib/extension/list_extension.dart b/lib/extension/list_extension.dart new file mode 100644 index 0000000..c791e44 --- /dev/null +++ b/lib/extension/list_extension.dart @@ -0,0 +1,13 @@ +part of ansu_ui; + +extension SeparateExt on List { + List sepWidget({Widget separate}) { + return List.generate(this.length * 2 - 1, (index) { + if (index.isEven) + return this[index ~/ 2]; + else + return separate ?? 10.wb; + }); + } + +} diff --git a/lib/extension/text_extension.dart b/lib/extension/text_extension.dart index 35bcc4d..bec90a1 100644 --- a/lib/extension/text_extension.dart +++ b/lib/extension/text_extension.dart @@ -28,4 +28,17 @@ extension TextExtension on Text { Text get black65 => Text(this.data, style: this.style?.black65 ?? TextStyle().black65); + + Text copyWith({ + FontWeight fontWeight, + Color color, + double fontSize, + }) { + return Text(this.data, + style: this.style.copyWith( + fontWeight: fontWeight, + color: color, + fontSize: fontSize, + )); + } } diff --git a/lib/extension/widget_extension.dart b/lib/extension/widget_extension.dart index d9753f1..d398cc6 100644 --- a/lib/extension/widget_extension.dart +++ b/lib/extension/widget_extension.dart @@ -1,12 +1,5 @@ part of ansu_ui; -extension SeparateExt on List { - List sepWidget({Widget separate}) { - return List.generate(this.length * 2 - 1, (index) { - if (index.isEven) - return this[index ~/ 2]; - else - return separate ?? 10.wb; - }); - } +extension WidgetExt on Widget { + Widget get expanded => Expanded(child: this); } diff --git a/lib/utils/camera_util.dart b/lib/utils/camera_util.dart new file mode 100644 index 0000000..db05c18 --- /dev/null +++ b/lib/utils/camera_util.dart @@ -0,0 +1,12 @@ +part of ansu_ui; + +///获取相机文件 +Future camFile({maxHeight = 3000, maxWidth = 3000}) async { + var pickedFile = await ImagePicker().getImage( + source: ImageSource.camera, + maxHeight: maxHeight, + maxWidth: maxWidth, + ); + if (pickedFile == null) return null; + return File(pickedFile.path); +} diff --git a/pubspec.lock b/pubspec.lock index 5836216..26b62ca 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -62,6 +62,13 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.1.6" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.11" flutter_screenutil: dependency: "direct main" description: @@ -74,6 +81,34 @@ packages: description: flutter source: sdk version: "0.0.0" + http: + dependency: transitive + description: + name: http + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.12.2" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.1.4" + image_picker: + dependency: "direct main" + description: + name: image_picker + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.6.7+15" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.1.1" lpinyin: dependency: "direct main" description: @@ -102,6 +137,20 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.8.0-nullsafety.1" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.9.2" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.3" sky_engine: dependency: transitive description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index e9867a0..bf407af 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,6 +13,7 @@ dependencies: flutter_screenutil: ^3.2.0 flutter_easyrefresh: ^2.1.6 lpinyin: ^1.1.0 + image_picker: ^0.6.7+15 dev_dependencies: flutter_test: