feat(app): launcher icon — brand logo 1024px + adaptive (blue #1A73E8 background)
flutter_launcher_icons 自动生成全尺寸 mipmap(48-192px + 自适应前景/背景)。 正式签名生产环境 APK 已打好。 Co-Authored-By: Claude Code <noreply@anthropic.com>
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 154 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground>
|
||||
<inset
|
||||
android:drawable="@drawable/ic_launcher_foreground"
|
||||
android:inset="16%" />
|
||||
</foreground>
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 29 KiB |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#1A73E8</color>
|
||||
</resources>
|
||||
|
After Width: | Height: | Size: 867 KiB |
@@ -17,6 +17,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "13.0.0"
|
||||
archive:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: archive
|
||||
sha256: "6c5bcd986e06b94e3c40244af471750840a3d2341d1f9763a1100a14add517b4"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.3.0"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -157,10 +165,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
sha256: "71e43f1976c3eae2d9468a5b4d6600bf8cae61508b87f27fa1799228935d48ab"
|
||||
sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.5.2"
|
||||
version: "0.4.2"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -331,6 +339,14 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_launcher_icons:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_launcher_icons
|
||||
sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.14.4"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -487,6 +503,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.1.2"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image
|
||||
sha256: a1e7f4951e538a568e14b856702afc9ae1d2f4b202daced8d22c1b9cd211ce89
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.10.1"
|
||||
image_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -788,6 +812,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.5.3"
|
||||
posix:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: posix
|
||||
sha256: bc1bad54ad2b735816e31f8d4600cfde6c7839975085ddfbca48b6c9f7c4044e
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.5.2"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -40,6 +40,14 @@ dependencies:
|
||||
gal: ^2.3.3
|
||||
fluwx: ^6.0.2
|
||||
|
||||
|
||||
flutter_launcher_icons:
|
||||
android: true
|
||||
ios: false
|
||||
image_path: "assets/brand/app-icon.png"
|
||||
adaptive_icon_background: "#1A73E8"
|
||||
adaptive_icon_foreground: "assets/brand/app-icon.png"
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
@@ -49,6 +57,7 @@ dev_dependencies:
|
||||
flutter_lints: ^6.0.0
|
||||
build_runner: ^2.15.1
|
||||
drift_dev: ^2.35.0
|
||||
flutter_launcher_icons: ^0.14.0
|
||||
|
||||
flutter:
|
||||
# l10n 代码生成(arb 见 lib/l10n/,配置见 l10n.yaml)
|
||||
|
||||
|
After Width: | Height: | Size: 867 KiB |
@@ -0,0 +1,12 @@
|
||||
# PhotoLive App icon
|
||||
|
||||
日期:2026-09-24。
|
||||
|
||||
- 最终文件:`photolive-app-logo-1024-2026-09-24.png`,1024×1024 PNG。
|
||||
- 原始生成文件:`photolive-app-logo-original-2026-09-24.png`,1254×1254 PNG。
|
||||
- 内置 image_gen 生成;最终尺寸采用等比例高质量导出,不裁剪内容。
|
||||
- 蓝白相机与光圈组合,无文字。未替换项目现有 App 图标配置。
|
||||
|
||||
## Generation prompt
|
||||
|
||||
Use case: logo-brand. Generate ONE finished app icon for PhotoLive, a professional enterprise event photography and live photo sharing app. Output EXACTLY 1024 by 1024 pixels, square PNG. Full-bleed solid brilliant blue background #1A73E8 extending to all four square edges, opaque background, NO pre-rounded outer icon corners. In the center a beautifully balanced distinctive white geometric camera aperture symbol, six broad expertly spaced interlocking shutter blades encircling a clear blue hexagonal lens opening. Subtly integrate the silhouette of a photographic frame into the overall mark without additional separate symbols. Strong simple memorable silhouette, highly legible at 48px, flat vector-like precision, smooth optically corrected curves, generous safe area of about 20 percent around the central symbol. White mark approximately 60 percent of canvas width. Premium calm modern visual identity consistent with blue-and-white PhotoLive admin and mobile UI. Pure flat colors blue and white, no gradients, no shadows, no 3D, no glossy highlights. No text, no letters, no wordmark, no Chinese characters, no slogan, no watermark, no presentation board, no mockup phone, no multiple alternatives. This is the actual exportable icon asset, not a picture of an icon on a background.
|
||||
|
After Width: | Height: | Size: 977 KiB |