diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a6dcb34 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,46 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "name": "yx_icon_fonts_flutter", + "request": "launch", + "type": "dart" + }, + { + "name": "yx_icon_fonts_flutter (profile mode)", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + }, + { + "name": "yx_icon_fonts_flutter (release mode)", + "request": "launch", + "type": "dart", + "flutterMode": "release" + }, + { + "name": "example", + "cwd": "example", + "request": "launch", + "type": "dart" + }, + { + "name": "example (profile mode)", + "cwd": "example", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + }, + { + "name": "example (release mode)", + "cwd": "example", + "request": "launch", + "type": "dart", + "flutterMode": "release" + } + ] +} \ No newline at end of file diff --git a/example/.metadata b/example/.metadata index cca80bc..2b7c01b 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "8defaa71a77c16e8547abdbfad2053ce3a6e2d5b" + revision: "be698c48a6750c8cb8e61c740ca9991bb947aba2" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - - platform: ios - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + create_revision: be698c48a6750c8cb8e61c740ca9991bb947aba2 + base_revision: be698c48a6750c8cb8e61c740ca9991bb947aba2 + - platform: android + create_revision: be698c48a6750c8cb8e61c740ca9991bb947aba2 + base_revision: be698c48a6750c8cb8e61c740ca9991bb947aba2 # User provided section diff --git a/example/android/.gitignore b/example/android/.gitignore new file mode 100644 index 0000000..be3943c --- /dev/null +++ b/example/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/example/android/app/build.gradle.kts b/example/android/app/build.gradle.kts new file mode 100644 index 0000000..d3682ce --- /dev/null +++ b/example/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "com.example.yx_icon_fonts_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.yx_icon_fonts_example" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..c195878 --- /dev/null +++ b/example/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/example/android/app/src/main/kotlin/com/example/yx_icon_fonts_example/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/yx_icon_fonts_example/MainActivity.kt new file mode 100644 index 0000000..7bf7801 --- /dev/null +++ b/example/android/app/src/main/kotlin/com/example/yx_icon_fonts_example/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.yx_icon_fonts_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/example/android/app/src/main/res/drawable-v21/launch_background.xml b/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/example/android/app/src/main/res/drawable/launch_background.xml b/example/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/example/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..db77bb4 Binary files /dev/null and b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..17987b7 Binary files /dev/null and b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..09d4391 Binary files /dev/null and b/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..d5f1c8d Binary files /dev/null and b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..4d6372e Binary files /dev/null and b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/example/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/example/android/build.gradle.kts b/example/android/build.gradle.kts new file mode 100644 index 0000000..89176ef --- /dev/null +++ b/example/android/build.gradle.kts @@ -0,0 +1,21 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/example/android/gradle.properties b/example/android/gradle.properties new file mode 100644 index 0000000..f018a61 --- /dev/null +++ b/example/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..ac3b479 --- /dev/null +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip diff --git a/example/android/settings.gradle.kts b/example/android/settings.gradle.kts new file mode 100644 index 0000000..ab39a10 --- /dev/null +++ b/example/android/settings.gradle.kts @@ -0,0 +1,25 @@ +pluginManagement { + val flutterSdkPath = run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "8.7.3" apply false + id("org.jetbrains.kotlin.android") version "2.1.0" apply false +} + +include(":app") diff --git a/example/lib/icons.dart b/example/lib/icons.dart index 16dd970..64c62f1 100644 --- a/example/lib/icons.dart +++ b/example/lib/icons.dart @@ -4,6 +4,23 @@ import 'package:yx_icon_fonts_example/example_icon.dart'; // 此文件由脚本自动生成! final icons = [ + // 其他图标 + ExampleIcon(YXIconFonts.iconVoicepause, 'icon voicepause'), + ExampleIcon(YXIconFonts.iconVoice, 'icon voice'), + ExampleIcon(YXIconFonts.Subtract, 'Subtract'), + ExampleIcon(YXIconFonts.icon24Search, 'icon 24 search'), + ExampleIcon(YXIconFonts.icon24Up, 'icon 24 up'), + + // 编辑相关图标 + ExampleIcon(YXIconFonts.icon44Edit, 'icon 44 edit'), + ExampleIcon(YXIconFonts.icon36Editline, 'icon 36 editline'), + ExampleIcon(YXIconFonts.icon24Edit, 'icon 24 edit'), + + // 删除相关图标 + ExampleIcon(YXIconFonts.icon44Delete, 'icon 44 delete'), + ExampleIcon(YXIconFonts.icon36Delete, 'icon 36 delete'), + ExampleIcon(YXIconFonts.icon24Delete, 'icon 24 delete'), + // 个人中心相关图标 ExampleIcon(YXIconFonts.icon44MeQuit, 'icon 44 me quit'), ExampleIcon(YXIconFonts.icon44MePassword, 'icon 44 me password'), @@ -14,10 +31,6 @@ final icons = [ ExampleIcon(YXIconFonts.icon44MeSafe, 'icon 44 me safe'), ExampleIcon(YXIconFonts.icon44MePhone, 'icon 44 me phone'), - // 其他图标 - ExampleIcon(YXIconFonts.icon24Search, 'icon 24 search'), - ExampleIcon(YXIconFonts.icon24Up, 'icon 24 up'), - // 消息相关图标 ExampleIcon(YXIconFonts.iconMsgContacts, 'icon msg contacts'), ExampleIcon(YXIconFonts.iconMsgViedo, 'icon msg viedo'), @@ -37,11 +50,6 @@ final icons = [ ExampleIcon(YXIconFonts.icon24Arrowleft, 'icon 24 arrowleft'), ExampleIcon(YXIconFonts.icon24Arrowdown, 'icon 24 arrowdown'), - // 编辑相关图标 - ExampleIcon(YXIconFonts.icon44Edit, 'icon 44 edit'), - ExampleIcon(YXIconFonts.icon36Editline, 'icon 36 editline'), - ExampleIcon(YXIconFonts.icon24Edit, 'icon 24 edit'), - // 特殊字符图标 ExampleIcon(YXIconFonts.icon24, 'icon 24 -'), @@ -68,11 +76,6 @@ final icons = [ // 复制相关图标 ExampleIcon(YXIconFonts.icon24Copy, 'icon 24 copy'), - // 删除相关图标 - ExampleIcon(YXIconFonts.icon44Delete, 'icon 44 delete'), - ExampleIcon(YXIconFonts.icon36Delete, 'icon 36 delete'), - ExampleIcon(YXIconFonts.icon24Delete, 'icon 24 delete'), - // 日历相关图标 ExampleIcon(YXIconFonts.icon44Calendar, 'icon 44 calendar'), diff --git a/example/pubspec.lock b/example/pubspec.lock index 7cdac94..8c14e31 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -206,7 +206,7 @@ packages: path: ".." relative: true source: path - version: "1.0.1" + version: "1.0.4" sdks: dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/fonts/iconfont.ttf b/fonts/iconfont.ttf index eb773d7..4207b56 100644 Binary files a/fonts/iconfont.ttf and b/fonts/iconfont.ttf differ diff --git a/iconfont.json b/iconfont.json index 17ee46c..a30ac51 100644 --- a/iconfont.json +++ b/iconfont.json @@ -5,6 +5,41 @@ "css_prefix_text": "", "description": "学习官OA系统图标", "glyphs": [ + { + "icon_id": "45492400", + "name": "icon_voicepause", + "font_class": "icon_voicepause", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "45492399", + "name": "icon_voice", + "font_class": "icon_voice", + "unicode": "e64c", + "unicode_decimal": 58956 + }, + { + "icon_id": "45263171", + "name": "Subtract", + "font_class": "Subtract", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "45214203", + "name": "icon_44_edit", + "font_class": "icon_44_edit", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "45214202", + "name": "icon_44_delete", + "font_class": "icon_44_delete", + "unicode": "e649", + "unicode_decimal": 58953 + }, { "icon_id": "45160662", "name": "icon_44_me_quit", @@ -82,13 +117,6 @@ "unicode": "e61d", "unicode_decimal": 58909 }, - { - "icon_id": "44625451", - "name": "icon_44_edit", - "font_class": "icon_44_edit", - "unicode": "e638", - "unicode_decimal": 58936 - }, { "icon_id": "44625452", "name": "icon_44_me_password", @@ -194,13 +222,6 @@ "unicode": "e62e", "unicode_decimal": 58926 }, - { - "icon_id": "44625449", - "name": "icon_44_delete", - "font_class": "icon_44_delete", - "unicode": "e62f", - "unicode_decimal": 58927 - }, { "icon_id": "44625444", "name": "icon_32_quit", diff --git a/lib/src/yx_icon_fonts_data.dart b/lib/src/yx_icon_fonts_data.dart index 588754d..58054a1 100644 --- a/lib/src/yx_icon_fonts_data.dart +++ b/lib/src/yx_icon_fonts_data.dart @@ -9,6 +9,31 @@ class YXIconFonts { // 私有构造函数,防止实例化 YXIconFonts._(); + /// icon_voicepause 图标 + /// + /// Unicode: e64b + static const IconData iconVoicepause = YXIconData(0xe64b); + + /// icon_voice 图标 + /// + /// Unicode: e64c + static const IconData iconVoice = YXIconData(0xe64c); + + /// Subtract 图标 + /// + /// Unicode: e64a + static const IconData Subtract = YXIconData(0xe64a); + + /// icon_44_edit 图标 + /// + /// Unicode: e648 + static const IconData icon44Edit = YXIconData(0xe648); + + /// icon_44_delete 图标 + /// + /// Unicode: e649 + static const IconData icon44Delete = YXIconData(0xe649); + /// icon_44_me_quit 图标 /// /// Unicode: e647 @@ -64,11 +89,6 @@ class YXIconFonts { /// Unicode: e61d static const IconData icon32Arrowright = YXIconData(0xe61d); - /// icon_44_edit 图标 - /// - /// Unicode: e638 - static const IconData icon44Edit = YXIconData(0xe638); - /// icon_44_me_password 图标 /// /// Unicode: e639 @@ -144,11 +164,6 @@ class YXIconFonts { /// Unicode: e62e static const IconData icon24Copy = YXIconData(0xe62e); - /// icon_44_delete 图标 - /// - /// Unicode: e62f - static const IconData icon44Delete = YXIconData(0xe62f); - /// icon_32_quit 图标 /// /// Unicode: e630 diff --git a/pubspec.yaml b/pubspec.yaml index f2edf58..269fad5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: yx_icon_fonts description: 学习官OA系统图标字体库,基于iconfont.ttf和iconfont.json生成 -version: 1.0.2 -homepage: https://github.com/your-username/yx_icon_fonts +version: 1.0.4 +homepage: https://gitea.23544.com/wangyang/yx_icon_fonts_flutter environment: sdk: '>=3.0.0 <4.0.0'