From 3028080d58feeca349bd324a37e7539961fa807b Mon Sep 17 00:00:00 2001 From: oldchen <772565130@qq.com> Date: Fri, 28 Jun 2019 11:25:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=86=E5=A4=87=E5=BC=80=E5=A7=8B=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 17 +++++++++++++++++ lib/pages/main_page.dart | 4 ++-- ...utton.dart => animated_floating_button.dart} | 16 +++++++--------- pubspec.yaml | 9 ++++++++- 4 files changed, 34 insertions(+), 12 deletions(-) rename lib/widgets/{scale_floating_button.dart => animated_floating_button.dart} (76%) diff --git a/lib/main.dart b/lib/main.dart index 5ad0bc3..9a85d38 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:todo_list/pages/main_page.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; void main(){ SystemChrome.setPreferredOrientations([ @@ -16,6 +17,22 @@ class MyApp extends StatelessWidget { Widget build(BuildContext context) { return MaterialApp( title: 'ToDo List', + localizationsDelegates: [ + // ... app-specific localization delegate[s] here + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ], + supportedLocales: [ + const Locale('en', 'US'), // 美国英语 + const Locale('zh', 'CN'), // 中文简体 + ], + localeResolutionCallback: (Locale locale, Iterable supportedLocales){ + }, + localeListResolutionCallback: (List locales, Iterable supportedLocales){ + debugPrint("locales:${locales} supportedLocales${supportedLocales} "); + + }, + locale: Locale('en', 'US'), theme: ThemeData( primaryColor: Color.fromRGBO(246,200,200,1), primaryColorDark: Color.fromRGBO(255,180,180,1), diff --git a/lib/pages/main_page.dart b/lib/pages/main_page.dart index 7e8c48f..bd47aa7 100644 --- a/lib/pages/main_page.dart +++ b/lib/pages/main_page.dart @@ -6,7 +6,7 @@ import 'package:todo_list/items/task_item.dart'; import 'package:todo_list/utils/full_screen_dialog_util.dart'; import 'package:todo_list/widgets/floating_border.dart'; import 'package:todo_list/widgets/bottom_show_widget.dart'; -import 'package:todo_list/widgets/scale_floating_button.dart'; +import 'package:todo_list/widgets/animated_floating_button.dart'; import 'all_page.dart'; class MainPage extends StatefulWidget { @@ -39,7 +39,7 @@ class _MainPageState extends State { ), floatingActionButtonAnimator: FloatingActionButtonAnimator.scaling, floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, - floatingActionButton: ScaleFloatingButton(), + floatingActionButton: AnimatedFloatingButton(), body: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/widgets/scale_floating_button.dart b/lib/widgets/animated_floating_button.dart similarity index 76% rename from lib/widgets/scale_floating_button.dart rename to lib/widgets/animated_floating_button.dart index 0143910..a0c411e 100644 --- a/lib/widgets/scale_floating_button.dart +++ b/lib/widgets/animated_floating_button.dart @@ -5,12 +5,12 @@ import 'package:todo_list/utils/full_screen_dialog_util.dart'; import 'package:todo_list/widgets/bottom_show_widget.dart'; import 'package:todo_list/widgets/floating_border.dart'; -class ScaleFloatingButton extends StatefulWidget { +class AnimatedFloatingButton extends StatefulWidget { @override - _ScaleFloatingButtonState createState() => _ScaleFloatingButtonState(); + _AnimatedFloatingButtonState createState() => _AnimatedFloatingButtonState(); } -class _ScaleFloatingButtonState extends State +class _AnimatedFloatingButtonState extends State with SingleTickerProviderStateMixin { AnimationController _controller; Animation _animation; @@ -19,7 +19,7 @@ class _ScaleFloatingButtonState extends State void initState() { _controller = AnimationController(vsync: this, duration: Duration(milliseconds: 500)); - _animation = new Tween(begin: 1.0, end: 2.0) + _animation = new Tween(begin: 0.0, end: 1.0) .animate(CurvedAnimation(parent: _controller, curve: Curves.easeInOut)); super.initState(); } @@ -35,12 +35,10 @@ class _ScaleFloatingButtonState extends State return AnimatedBuilder( animation: _animation, builder: (ctx, child) { - return Transform.rotate( - angle: (1- _animation.value) * pi * 2, - child: Transform.scale( - scale: _animation.value, + return Transform.translate( + offset: Offset(0, (_animation.value) * 56), child: child, - )); + ); }, child: FloatingActionButton( onPressed: () { diff --git a/pubspec.yaml b/pubspec.yaml index 8fa227f..f2c24a5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,6 +19,9 @@ environment: dependencies: flutter: sdk: flutter + #国际化 + flutter_localizations: + sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. @@ -27,6 +30,8 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter + #intl语言包 +# intl_translation: ^0.17.5 #网络请求 @@ -42,7 +47,9 @@ dev_dependencies: #滑动控件 carousel_slider: ^1.3.0 #环形列表 - circle_list: ^0.0.6 + circle_list: ^0.0.7 + #intl语言包 +# intl: ^0.15.8