diff --git a/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png index e4cde45..6ca1535 100644 Binary files a/android/app/src/main/res/mipmap-hdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png index 8cd0430..f9ff8da 100644 Binary files a/android/app/src/main/res/mipmap-mdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png index 9e325cb..3809ff5 100644 Binary files a/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png index 74f9b9b..5a4ac3b 100644 Binary files a/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png index 08c3d9e..826dda4 100644 Binary files a/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png differ diff --git a/assets/images/history_empty_state.gif b/assets/images/history_empty_state.gif new file mode 100644 index 0000000..d9f559c Binary files /dev/null and b/assets/images/history_empty_state.gif differ diff --git a/assets/images/home_background.png b/assets/images/home_background.png old mode 100644 new mode 100755 index e6418a9..9a1fdb9 Binary files a/assets/images/home_background.png and b/assets/images/home_background.png differ diff --git a/assets/images/home_microphone.png b/assets/images/home_microphone.png index 7c893bc..5511e89 100755 Binary files a/assets/images/home_microphone.png and b/assets/images/home_microphone.png differ diff --git a/assets/images/home_more.png b/assets/images/home_more.png old mode 100755 new mode 100644 index e360619..76d64c8 Binary files a/assets/images/home_more.png and b/assets/images/home_more.png differ diff --git a/assets/images/rabbit_say_good.png b/assets/images/rabbit_say_good.png deleted file mode 100644 index 9412812..0000000 Binary files a/assets/images/rabbit_say_good.png and /dev/null differ diff --git a/assets/images/record_subscript.gif b/assets/images/record_subscript.gif new file mode 100644 index 0000000..52cb538 Binary files /dev/null and b/assets/images/record_subscript.gif differ diff --git a/assets/images/setrring_subscript.gif b/assets/images/setrring_subscript.gif new file mode 100644 index 0000000..187a80a Binary files /dev/null and b/assets/images/setrring_subscript.gif differ diff --git a/assets/images/suspended_decoration.png b/assets/images/suspended_decoration.png new file mode 100755 index 0000000..4e63f78 Binary files /dev/null and b/assets/images/suspended_decoration.png differ diff --git a/assets/images/tools_dialog.png b/assets/images/tools_dialog.png index 04edfc5..5ba75f8 100755 Binary files a/assets/images/tools_dialog.png and b/assets/images/tools_dialog.png differ diff --git a/assets/images/tools_history.png b/assets/images/tools_history.png index 54806df..00f7b95 100755 Binary files a/assets/images/tools_history.png and b/assets/images/tools_history.png differ diff --git a/assets/images/tools_photo.png b/assets/images/tools_photo.png index 93638a1..3a4409d 100755 Binary files a/assets/images/tools_photo.png and b/assets/images/tools_photo.png differ diff --git a/assets/images/translator_result_background.png b/assets/images/translator_result_background.png index 52f24cb..2d4e4c6 100755 Binary files a/assets/images/translator_result_background.png and b/assets/images/translator_result_background.png differ diff --git a/assets/launcher_icon/launcher_icon.png b/assets/launcher_icon/launcher_icon.png old mode 100755 new mode 100644 index 12d09ab..1277148 Binary files a/assets/launcher_icon/launcher_icon.png and b/assets/launcher_icon/launcher_icon.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index 3eae713..672a23d 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000..695e858 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000..f571f37 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000..cfee20b Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000..696096f Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000..888b371 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000..1e08cc3 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000..f571f37 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000..e3fe748 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000..03e2f24 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000..f91bb7c Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000..aa8a458 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000..e932769 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 0000000..14f118f Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000..03e2f24 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000..e2d5a03 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000..6ca1535 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 0000000..5a4ac3b Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000..48536d9 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 0000000..1520a1a Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000..84a4e6d Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (1).png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (1).png index 780188f..0f503b6 100644 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (1).png and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (1).png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (2).png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (2).png index 690024f..8076dd4 100644 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (2).png and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/123 (2).png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/123.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/123.png index 12b111c..b940335 100644 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/123.png and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/123.png differ diff --git a/lib/generated/assets.dart b/lib/generated/assets.dart index 24a9607..586c278 100644 --- a/lib/generated/assets.dart +++ b/lib/generated/assets.dart @@ -20,16 +20,19 @@ class Assets { static const String imagesDeleteIcon = 'assets/images/delete_icon.png'; static const String imagesExchangeLanguage = 'assets/images/exchange_language.png'; static const String imagesFullScreen = 'assets/images/full_screen.png'; + static const String imagesHistoryEmptyState = 'assets/images/history_empty_state.gif'; static const String imagesHomeBackground = 'assets/images/home_background.png'; static const String imagesHomeMicrophone = 'assets/images/home_microphone.png'; static const String imagesHomeMore = 'assets/images/home_more.png'; static const String imagesMicrophoneIcon = 'assets/images/microphone_icon.png'; static const String imagesRabbitEars = 'assets/images/rabbit_ears.png'; - static const String imagesRabbitSayGood = 'assets/images/rabbit_say_good.png'; + static const String imagesRecordSubscript = 'assets/images/record_subscript.gif'; static const String imagesRotateIcon = 'assets/images/rotate_icon.png'; + static const String imagesSetrringSubscript = 'assets/images/setrring_subscript.gif'; static const String imagesSpeakFace = 'assets/images/speak_face.png'; static const String imagesSpeakerIcon = 'assets/images/speaker_icon.png'; static const String imagesStarGreen = 'assets/images/star_green.png'; + static const String imagesSuspendedDecoration = 'assets/images/suspended_decoration.png'; static const String imagesTitleBackground = 'assets/images/title_background.png'; static const String imagesToolsDialog = 'assets/images/tools_dialog.png'; static const String imagesToolsHistory = 'assets/images/tools_history.png'; diff --git a/lib/global/global_config.dart b/lib/global/global_config.dart index b659a80..50d9857 100644 --- a/lib/global/global_config.dart +++ b/lib/global/global_config.dart @@ -1,4 +1,7 @@ +import 'dart:ui'; + class GlobalConfig { - static const appName = 'TransLark'; + static const appName = 'TransGlobe'; + static const appColor = Color(0xffFF5122); } diff --git a/lib/page/index/index_view.dart b/lib/page/index/index_view.dart index 358790a..dc02c7f 100644 --- a/lib/page/index/index_view.dart +++ b/lib/page/index/index_view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/page/index/index_controller.dart'; import 'package:trans_lark/util/t_object_utils.dart'; import 'package:trans_lark/widget/t_language_bar_widget.dart'; @@ -25,7 +26,7 @@ class IndexView extends StatelessWidget { child: Column( children: [ _buildHead(), - Expanded(child: Container()), + const SizedBox(height: 42), _buildDailyQuote(), Expanded(child: Container()), _buildTools(), @@ -44,34 +45,30 @@ class IndexView extends StatelessWidget { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Container( - padding: const EdgeInsets.symmetric(horizontal: 20), - decoration: const BoxDecoration( - image: DecorationImage( - image: AssetImage( - Assets.imagesTitleBackground, - ), - ), - ), - child: const Text( - "Instant Translator", - style: TextStyle( - color: Color(0xff1E1E1E), - fontSize: 24, - fontWeight: FontWeight.w700, - ), - ), - ), GestureDetector( onTap: logic.openSettingsBottomSheet, - child: ClipOval( + child: Container( + width: 36, + height: 36, + padding: const EdgeInsets.all(6.5), + decoration: BoxDecoration( + color: GlobalConfig.appColor, + borderRadius: BorderRadius.circular(36), + ), child: Image.asset( Assets.imagesHomeMore, - width: 32, - height: 32, ), ), ), + const Text( + GlobalConfig.appName, + style: TextStyle( + color: Color(0xff1E1E1E), + fontSize: 24, + fontWeight: FontWeight.w700, + ), + ), + const SizedBox(width: 36), ], ), ); @@ -80,233 +77,204 @@ class IndexView extends StatelessWidget { Widget _buildDailyQuote() { return GestureDetector( onTap: logic.toSceneCategory, - child: Container( - decoration: BoxDecoration( - border: Border.all( - width: 1.5, - color: const Color(0xff3AAA72), - ), - color: const Color(0xff78dfa8), - borderRadius: BorderRadius.circular(16), - ), - child: Stack( - clipBehavior: Clip.none, - children: [ - Positioned( - top: 16, - right: 31, - left: 31, - child: Image.asset( - Assets.imagesDailyQuoteBackground, + child: Column( + children: [ + Container( + padding: const EdgeInsets.only(top: 28, left: 22, bottom: 31), + decoration: const BoxDecoration( + color: Color(0xffBFE9D4), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), ), ), - Column( + child: Stack( + clipBehavior: Clip.none, + alignment: AlignmentDirectional.bottomStart, children: [ - Container( - padding: const EdgeInsets.symmetric( - horizontal: 30, - vertical: 15, - ), - child: Stack( - alignment: AlignmentDirectional.bottomStart, - children: [ - Positioned( - bottom: 2.8, - child: Container( - width: 73, - height: 7, - decoration: BoxDecoration( - color: const Color(0xfffff0a0), - borderRadius: BorderRadius.circular(16), - ), - ), - ), - Row( - children: [ - const Text( - "Daily Quote", - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w800, - fontStyle: FontStyle.italic, - color: Colors.white, - ), - ), - Container( - margin: const EdgeInsets.only(left: 5), - child: Image.asset( - Assets.imagesArrowRight, - width: 10, - height: 10, - ), - ), - ], - ) - ], + Positioned( + bottom: 2.8, + child: Container( + width: 73, + height: 7, + decoration: BoxDecoration( + color: const Color(0xff5CC2AD), + borderRadius: BorderRadius.circular(16), + ), ), ), - Column( + Row( children: [ - Container( - width: double.infinity, - height: 168, - padding: const EdgeInsets.symmetric(horizontal: 20), - alignment: Alignment.center, - decoration: BoxDecoration( - border: const Border( - top: BorderSide( - width: 1.5, - color: Color(0xff1AB069), - ), - ), - color: Colors.white, - borderRadius: BorderRadius.circular(16), + const Text( + "Daily Quote", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w800, + fontStyle: FontStyle.italic, + color: Color(0xff240F69), ), + ), + Container( + margin: const EdgeInsets.only(left: 5), + child: Image.asset( + Assets.imagesArrowRight, + color: const Color(0xff240F69), + width: 14, + height: 14, + ), + ), + ], + ), + Positioned( + right: -20, + bottom: -31, + child: Image.asset( + Assets.imagesSuspendedDecoration, + width: 211.41, + height: 99.14, + ), + ), + ], + ), + ), + Column( + children: [ + Container( + width: double.infinity, + height: 168, + padding: const EdgeInsets.symmetric(horizontal: 20), + alignment: Alignment.center, + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(16), + bottomRight: Radius.circular(16), + ), + ), + child: Column( + children: [ + Expanded( child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Obx(() { + Obx(() { + return Text( + logic.fromLanguage.value != null + ? logic.fromLanguage.value!.languageName + : '', + style: const TextStyle( + fontSize: 12, + color: Color(0xffC2C3C5), + ), + ); + }), + const SizedBox(height: 9), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Obx(() { return Text( - logic.fromLanguage.value != null - ? logic - .fromLanguage.value!.languageName - : '', + TObjectUtils.getStr(logic.fromStr.value), + overflow: TextOverflow.ellipsis, style: const TextStyle( - fontSize: 12, - color: Color(0xffC2C3C5), + fontSize: 16, + color: Color(0xff152A3D), + fontWeight: FontWeight.w500, ), ); }), - const SizedBox(height: 9), - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Obx(() { - return Text( - TObjectUtils.getStr( - logic.fromStr.value), - overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontSize: 16, - color: Color(0xff152A3D), - fontWeight: FontWeight.w500, - ), - ); - }), + ), + GestureDetector( + onTap: () => logic.translatorTtsPlay(true), + child: Container( + width: 24, + height: 24, + padding: const EdgeInsets.all(3), + decoration: BoxDecoration( + color: GlobalConfig.appColor, + borderRadius: BorderRadius.circular(12)), + child: FittedBox( + fit: BoxFit.none, + child: Image.asset( + Assets.imagesSpeakerIcon, + width: 16, + height: 16, ), - GestureDetector( - onTap: () => - logic.translatorTtsPlay(true), - child: Container( - width: 24, - height: 24, - padding: const EdgeInsets.all(3), - decoration: BoxDecoration( - color: const Color(0xff4ECA8C), - borderRadius: - BorderRadius.circular(12)), - child: FittedBox( - fit: BoxFit.none, - child: Image.asset( - Assets.imagesSpeakerIcon, - width: 16, - height: 16, - ), - ), - ), - ), - ], + ), ), - ], - ), + ), + ], ), - const Divider(height: 1, thickness: 1), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Obx(() { + ], + ), + ), + const Divider(height: 1, thickness: 1), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Obx(() { + return Text( + logic.toLanguage.value != null + ? logic.toLanguage.value!.languageName + : '', + style: const TextStyle( + fontSize: 12, + color: Color(0xffC2C3C5), + ), + ); + }), + const SizedBox(height: 9), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Obx(() { return Text( - logic.toLanguage.value != null - ? logic.toLanguage.value!.languageName - : '', + TObjectUtils.getStr(logic.toStr.value), + overflow: TextOverflow.ellipsis, style: const TextStyle( - fontSize: 12, - color: Color(0xffC2C3C5), + fontSize: 16, + color: Color(0xff152A3D), + fontWeight: FontWeight.w500, ), ); }), - const SizedBox(height: 9), - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Obx(() { - return Text( - TObjectUtils.getStr( - logic.toStr.value), - overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontSize: 16, - color: Color(0xff152A3D), - fontWeight: FontWeight.w500, - ), - ); - }), + ), + GestureDetector( + onTap: () => logic.translatorTtsPlay(false), + child: Container( + width: 24, + height: 24, + padding: const EdgeInsets.all(3), + decoration: BoxDecoration( + color: GlobalConfig.appColor, + borderRadius: BorderRadius.circular(12), + ), + child: FittedBox( + fit: BoxFit.none, + child: Image.asset( + Assets.imagesSpeakerIcon, + width: 16, + height: 16, ), - GestureDetector( - onTap: () => - logic.translatorTtsPlay(false), - child: Container( - width: 24, - height: 24, - padding: const EdgeInsets.all(3), - decoration: BoxDecoration( - color: const Color(0xff4ECA8C), - borderRadius: - BorderRadius.circular(12), - ), - child: FittedBox( - fit: BoxFit.none, - child: Image.asset( - Assets.imagesSpeakerIcon, - width: 16, - height: 16, - ), - ), - ), - ), - ], + ), ), - ], - ), + ), + ], ), ], ), ), ], ), - ], - ), - Positioned( - top: -22, - right: 5, - child: Image.asset( - Assets.imagesRabbitSayGood, - width: 137, - height: 115, ), - ), - ], - ), + ], + ), + ], ), ); } @@ -323,10 +291,10 @@ class IndexView extends StatelessWidget { child: Container( width: 72, height: 72, - padding: const EdgeInsets.all(12), + padding: const EdgeInsets.all(10), decoration: BoxDecoration( - color: const Color(0xffD2FFFB), - borderRadius: BorderRadius.circular(24), + color: Colors.white, + borderRadius: BorderRadius.circular(72), ), child: Image.asset( Assets.imagesToolsPhoto, @@ -354,10 +322,10 @@ class IndexView extends StatelessWidget { child: Container( width: 72, height: 72, - padding: const EdgeInsets.all(12), + padding: const EdgeInsets.all(10), decoration: BoxDecoration( - color: const Color(0xffE1E2FE), - borderRadius: BorderRadius.circular(24), + color: Colors.white, + borderRadius: BorderRadius.circular(72), ), child: Image.asset( Assets.imagesToolsDialog, @@ -385,10 +353,10 @@ class IndexView extends StatelessWidget { child: Container( width: 72, height: 72, - padding: const EdgeInsets.all(12), + padding: const EdgeInsets.all(10), decoration: BoxDecoration( - color: const Color(0xffFEE5C5), - borderRadius: BorderRadius.circular(24), + color: Colors.white, + borderRadius: BorderRadius.circular(72), ), child: Image.asset( Assets.imagesToolsHistory, @@ -422,9 +390,8 @@ class IndexView extends StatelessWidget { height: 91, alignment: Alignment.center, decoration: BoxDecoration( - color: const Color(0xff7678ef), - borderRadius: BorderRadius.circular(28), - border: Border.all(width: 1.5, color: const Color(0xff5153c0)), + color: GlobalConfig.appColor, + borderRadius: BorderRadius.circular(22), ), child: Row( children: [ @@ -442,17 +409,15 @@ class IndexView extends StatelessWidget { ), ), Padding( - padding: const EdgeInsets.only( - right: 20, - ), + padding: const EdgeInsets.only(right: 20), child: GestureDetector( onTap: logic.onTapSpeak, child: Container( height: 36, width: 36, - padding: const EdgeInsets.all(5), + padding: const EdgeInsets.all(7), decoration: BoxDecoration( - color: const Color(0xff5153c0), + color: Colors.white, borderRadius: BorderRadius.circular(18), ), child: Image.asset( @@ -467,6 +432,7 @@ class IndexView extends StatelessWidget { ), const SizedBox(height: 20), const TLanguageBarWidget(), + const SizedBox(height: 20), ], ); } diff --git a/lib/page/p2p/p2p_view.dart b/lib/page/p2p/p2p_view.dart index 6589feb..e443f0a 100644 --- a/lib/page/p2p/p2p_view.dart +++ b/lib/page/p2p/p2p_view.dart @@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/global/speech_to_text_manager.dart'; import 'package:trans_lark/page/p2p/p2p_controller.dart'; import 'package:trans_lark/util/t_object_utils.dart'; @@ -76,8 +77,8 @@ class P2PView extends GetView { child: WaveWidget( config: CustomConfig( colors: [ - const Color(0xff45A7FE).withOpacity(0.2), - const Color(0xff45A7FE), + const Color(0xff87ECB3).withOpacity(0.2), + const Color(0xff87ECB3), ], durations: [4000, 8000], heightPercentages: [-0.08, -0.08], @@ -92,7 +93,7 @@ class P2PView extends GetView { : Container( width: double.infinity, height: double.infinity, - color: const Color(0xff45A7FE), + color: const Color(0xff87ECB3), ), ); }), @@ -182,8 +183,8 @@ class P2PView extends GetView { ? WaveWidget( config: CustomConfig( colors: [ - const Color(0xff87ECB3).withOpacity(0.2), - const Color(0xff87ECB3), + GlobalConfig.appColor.withOpacity(0.2), + GlobalConfig.appColor, ], durations: [4000, 8000], heightPercentages: [-0.08, -0.08], @@ -197,7 +198,7 @@ class P2PView extends GetView { : Container( width: double.infinity, height: double.infinity, - color: const Color(0xff87ECB3), + color: GlobalConfig.appColor, ), ); }), diff --git a/lib/page/scene_category_item/scene_category_item_view.dart b/lib/page/scene_category_item/scene_category_item_view.dart index e44cd39..ac61eb8 100644 --- a/lib/page/scene_category_item/scene_category_item_view.dart +++ b/lib/page/scene_category_item/scene_category_item_view.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/entity/scene_entity.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/page/scene_category_item/scene_category_item_controller.dart'; import 'package:trans_lark/widget/t_base_appbar_widget.dart'; import 'package:trans_lark/widget/t_base_scrollbar_widget.dart'; @@ -108,12 +109,12 @@ class SceneCategoryItemView extends GetView { child: Container( width: 24, height: 24, - color: const Color.fromRGBO(78, 202, 140, 0.20), + color: GlobalConfig.appColor.withOpacity(.2), child: FittedBox( fit: BoxFit.none, child: Image.asset( Assets.imagesSpeakerIcon, - color: const Color(0xff4ECA8C), + color: GlobalConfig.appColor, width: 16, height: 16, ), diff --git a/lib/page/settings/settings_widget.dart b/lib/page/settings/settings_widget.dart index 53d14d9..38b58b2 100644 --- a/lib/page/settings/settings_widget.dart +++ b/lib/page/settings/settings_widget.dart @@ -34,7 +34,7 @@ class SettingsWidget extends StatelessWidget { Image.asset( Assets.imagesHomeBackground, width: MediaQuery.of(context).size.width, - height: 384, + height: double.infinity, fit: BoxFit.fitWidth, ), Column( @@ -92,9 +92,9 @@ class SettingsWidget extends StatelessWidget { ), _buildSettingItems(), Image.asset( - Assets.imagesRabbitSayGood, - width: 90, - height: 90, + Assets.imagesSetrringSubscript, + width: 136, + height: 136, fit: BoxFit.cover, ), const SizedBox(height: 58), diff --git a/lib/page/translator/translator_view.dart b/lib/page/translator/translator_view.dart index 6d271dc..640c092 100755 --- a/lib/page/translator/translator_view.dart +++ b/lib/page/translator/translator_view.dart @@ -2,6 +2,7 @@ import 'package:custom_pop_up_menu/custom_pop_up_menu.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/page/translator/translator_controller.dart'; import 'package:trans_lark/util/t_object_utils.dart'; import 'package:trans_lark/widget/t_base_appbar_widget.dart'; @@ -24,10 +25,9 @@ class TranslatorView extends GetView { children: [ const SizedBox(height: 20), Container( - decoration: BoxDecoration( - border: Border.all(width: 1.5, color: const Color(0xff0087FF)), - color: const Color(0xff45A7FE), - borderRadius: const BorderRadius.all(Radius.circular(16)), + decoration: const BoxDecoration( + color: GlobalConfig.appColor, + borderRadius: BorderRadius.all(Radius.circular(16)), ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -74,7 +74,7 @@ class TranslatorView extends GetView { replacement: Container( width: 36, height: 36, - color: const Color(0xff8BCFFE), + color: Colors.white, child: FittedBox( fit: BoxFit.none, child: Image.asset( @@ -208,15 +208,7 @@ class TranslatorView extends GetView { ], ), ) - : Expanded( - child: Center( - child: Image.asset( - Assets.imagesRabbitSayGood, - width: 90, - height: 90, - ), - ), - ), + : Expanded(child: Container()), ), ], ), diff --git a/lib/page/translator_record/translator_record_view.dart b/lib/page/translator_record/translator_record_view.dart index 3e357cc..9e167ef 100644 --- a/lib/page/translator_record/translator_record_view.dart +++ b/lib/page/translator_record/translator_record_view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/page/translator_record/translator_record_controller.dart'; import 'package:trans_lark/util/t_object_utils.dart'; import 'package:trans_lark/widget/t_base_appbar_widget.dart'; @@ -23,9 +24,9 @@ class TranslatorRecordView extends GetView { if (controller.historyList.isNotEmpty) return _buildHistoryList(); return Center( child: Image.asset( - Assets.imagesRabbitSayGood, - width: 90, - height: 90, + Assets.imagesHistoryEmptyState, + width: 168, + height: 168, fit: BoxFit.cover, ), ); @@ -35,12 +36,12 @@ class TranslatorRecordView extends GetView { return Visibility( visible: controller.historyList.isNotEmpty, child: Positioned( - top: 59, - right: 23, + top: 44, + right: 20, child: Image.asset( - Assets.imagesRabbitSayGood, - width: 90, - height: 90, + Assets.imagesRecordSubscript, + width: 96, + height: 96, fit: BoxFit.cover, ), ), @@ -87,7 +88,7 @@ class TranslatorRecordView extends GetView { onDismissed: (_) => controller.deleteHistoryItem(map.key, item, index), background: Container( - color: const Color(0xffFF98BC), + color: const Color(0xffFC6C6B), child: Stack( children: [ Positioned( @@ -105,7 +106,7 @@ class TranslatorRecordView extends GetView { ), ), secondaryBackground: Container( - color: const Color(0xffFF98BC), + color: const Color(0xffFC6C6B), child: Stack( children: [ Positioned( @@ -134,7 +135,7 @@ class TranslatorRecordView extends GetView { child: Container( width: 32, height: 32, - color: const Color(0xff4ECA8C), + color: GlobalConfig.appColor, child: FittedBox( fit: BoxFit.none, child: Image.asset( diff --git a/lib/page/translator_result/translator_result_view.dart b/lib/page/translator_result/translator_result_view.dart index e2794c7..ea47870 100755 --- a/lib/page/translator_result/translator_result_view.dart +++ b/lib/page/translator_result/translator_result_view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/global/translate_manager.dart'; import 'package:trans_lark/page/translator_result/translator_result_controller.dart'; import 'package:trans_lark/util/t_object_utils.dart'; @@ -98,12 +99,12 @@ class TranslatorResultView extends GetView { child: Container( width: 32, height: 32, - color: const Color.fromRGBO(78, 202, 140, 0.20), + color: GlobalConfig.appColor, child: FittedBox( fit: BoxFit.none, child: Image.asset( Assets.imagesSpeakerIcon, - color: const Color(0xff4ECA8C), + color: Colors.white, width: 20, height: 20, ), @@ -151,7 +152,7 @@ class TranslatorResultView extends GetView { height: 20, child: CircularProgressIndicator( strokeWidth: 2, - color: Color(0xff4ECA8C), + color: GlobalConfig.appColor, ), ), ), @@ -186,12 +187,12 @@ class TranslatorResultView extends GetView { child: Container( width: 32, height: 32, - color: const Color.fromRGBO(78, 202, 140, 0.20), + color: GlobalConfig.appColor, child: FittedBox( fit: BoxFit.none, child: Image.asset( Assets.imagesSpeakerIcon, - color: const Color(0xff4ECA8C), + color: Colors.white, width: 20, height: 20, ), diff --git a/lib/widget/t_language_bar_widget.dart b/lib/widget/t_language_bar_widget.dart index 2c8bc53..234416e 100644 --- a/lib/widget/t_language_bar_widget.dart +++ b/lib/widget/t_language_bar_widget.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/global/translate_manager.dart'; import 'package:trans_lark/widget/t_language_bottom_sheet.dart'; @@ -44,7 +45,7 @@ class TLanguageBarWidget extends StatelessWidget { .isSelectFromLanguage .value ? const Color(0xff435561) - : const Color(0xff4ECA8C), + : GlobalConfig.appColor, fontSize: 14, fontWeight: FontWeight.w500, overflow: TextOverflow.ellipsis, @@ -71,7 +72,7 @@ class TLanguageBarWidget extends StatelessWidget { width: 26, height: 18, decoration: BoxDecoration( - color: const Color(0xffF1F1F1), + color: const Color(0xfff1f1f1), borderRadius: BorderRadius.circular(9), ), child: FittedBox( @@ -109,7 +110,7 @@ class TLanguageBarWidget extends StatelessWidget { .isSelectFromLanguage .value ? const Color(0xff435561) - : const Color(0xff4ECA8C), + : GlobalConfig.appColor, fontSize: 14, fontWeight: FontWeight.w500, overflow: TextOverflow.ellipsis, diff --git a/lib/widget/t_language_bottom_sheet.dart b/lib/widget/t_language_bottom_sheet.dart index c9a6c41..46520a3 100644 --- a/lib/widget/t_language_bottom_sheet.dart +++ b/lib/widget/t_language_bottom_sheet.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:get/get_state_manager/get_state_manager.dart'; import 'package:trans_lark/entity/language_entity.dart'; import 'package:trans_lark/generated/assets.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/global/translate_manager.dart'; import 'package:trans_lark/page/index/index_controller.dart'; import 'package:trans_lark/widget/t_base_scrollbar_widget.dart'; @@ -75,14 +76,14 @@ class TLanguageBottomSheet extends StatelessWidget { .fromLanguageEntity .value .languageName - ? const Color(0xff4ECA8C) + ? GlobalConfig.appColor : const Color(0xff152A3D)) : (item.languageName == TranslateManager() .toLanguageEntity .value .languageName - ? const Color(0xff4ECA8C) + ? GlobalConfig.appColor : const Color(0xff152A3D)), fontSize: 16, overflow: TextOverflow.ellipsis, @@ -107,6 +108,7 @@ class TLanguageBottomSheet extends StatelessWidget { padding: const EdgeInsets.only(left: 10), child: Image.asset( Assets.imagesStarGreen, + color: GlobalConfig.appColor, width: 16, height: 16, ), diff --git a/lib/widget/t_language_result_bar_widget.dart b/lib/widget/t_language_result_bar_widget.dart index 75d99f2..7f1a192 100644 --- a/lib/widget/t_language_result_bar_widget.dart +++ b/lib/widget/t_language_result_bar_widget.dart @@ -42,13 +42,14 @@ class TLanguageResultBarWidget extends StatelessWidget { width: 26, height: 18, decoration: BoxDecoration( - color: Colors.white, + color: const Color(0xff7FD5AA), borderRadius: BorderRadius.circular(9), ), child: FittedBox( fit: BoxFit.none, child: Image.asset( Assets.imagesExchangeLanguage, + color: Colors.white, width: 12, height: 12, ), diff --git a/lib/widget/t_translate_text_full_screen_page.dart b/lib/widget/t_translate_text_full_screen_page.dart index 6623218..187b116 100644 --- a/lib/widget/t_translate_text_full_screen_page.dart +++ b/lib/widget/t_translate_text_full_screen_page.dart @@ -3,6 +3,7 @@ import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:trans_lark/generated/assets.dart'; import 'package:trans_lark/global/flutter_tts_manager.dart'; +import 'package:trans_lark/global/global_config.dart'; import 'package:trans_lark/global/translate_manager.dart'; class TTranslateTextFullScreenPage extends StatefulWidget { @@ -42,7 +43,7 @@ class _TranslateTextFullScreenPageState body: Container( width: double.infinity, height: double.infinity, - color: const Color(0xff4ECA8C), + color: GlobalConfig.appColor, child: SafeArea( child: Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -76,10 +77,11 @@ class _TranslateTextFullScreenPageState width: 32, height: 32, color: Colors.white, + padding: const EdgeInsets.all(6), child: FittedBox( - fit: BoxFit.none, child: Image.asset( Assets.imagesSpeakerIcon, + color: GlobalConfig.appColor, ), ), ),