diff --git a/assets/iconfont/icon_builder.dart b/assets/iconfont/icon_builder.dart index 4bd785e..48f6fc8 100644 --- a/assets/iconfont/icon_builder.dart +++ b/assets/iconfont/icon_builder.dart @@ -33,7 +33,7 @@ class $fontName { result+="}"; fileCss.delete();//删除css文件 - File fileOut = File(path.join(Directory.current.path,"$outFile")); + File fileOut = File(path.join(Directory.current.path,outFile)); if(! await fileOut.exists()){ await fileOut.create(recursive: true); } diff --git a/lib/app/res/style/shape/techno_shape.dart b/lib/app/res/style/shape/techno_shape.dart index d9b8eb5..c1aefe2 100644 --- a/lib/app/res/style/shape/techno_shape.dart +++ b/lib/app/res/style/shape/techno_shape.dart @@ -1,5 +1,3 @@ - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-06 @@ -14,11 +12,11 @@ class TechnoShapeBorder extends ShapeBorder { final Path innerLinePathTop = Path(); final Color color; - final cornerWidth; + final double cornerWidth; - final spanWidth; - final storkWidth; - final innerRate; + final double spanWidth; + final double storkWidth; + final double innerRate; TechnoShapeBorder( {this.color = Colors.green, diff --git a/lib/app/res/style/unit_color.dart b/lib/app/res/style/unit_color.dart index bdb35a7..05e8a4d 100644 --- a/lib/app/res/style/unit_color.dart +++ b/lib/app/res/style/unit_color.dart @@ -29,19 +29,19 @@ class UnitColor { static const int primaryIntValue = 0xFF24292E; - static const MaterialColor primarySwatch = const MaterialColor( + static const MaterialColor primarySwatch = MaterialColor( primaryIntValue, - const { - 50: const Color(primaryIntValue), - 100: const Color(primaryIntValue), - 200: const Color(primaryIntValue), - 300: const Color(primaryIntValue), - 400: const Color(primaryIntValue), - 500: const Color(primaryIntValue), - 600: const Color(primaryIntValue), - 700: const Color(primaryIntValue), - 800: const Color(primaryIntValue), - 900: const Color(primaryIntValue), + { + 50: Color(primaryIntValue), + 100: Color(primaryIntValue), + 200: Color(primaryIntValue), + 300: Color(primaryIntValue), + 400: Color(primaryIntValue), + 500: Color(primaryIntValue), + 600: Color(primaryIntValue), + 700: Color(primaryIntValue), + 800: Color(primaryIntValue), + 900: Color(primaryIntValue), }, ); diff --git a/lib/app/res/toly_icon.dart b/lib/app/res/toly_icon.dart index 3b4c197..a6c156f 100644 --- a/lib/app/res/toly_icon.dart +++ b/lib/app/res/toly_icon.dart @@ -4,35 +4,35 @@ import 'package:flutter/widgets.dart'; class TolyIcon { TolyIcon._(); -static const IconData upload_success = const IconData( 0xe60b, fontFamily: "TolyIcon"); -static const IconData download = const IconData( 0xea51, fontFamily: "TolyIcon"); -static const IconData upload = const IconData( 0xea52, fontFamily: "TolyIcon"); -static const IconData error = const IconData( 0xe614, fontFamily: "TolyIcon"); -static const IconData dingzhi1 = const IconData( 0xe60e, fontFamily: "TolyIcon"); -static const IconData icon_collect = const IconData( 0xe672, fontFamily: "TolyIcon"); -static const IconData yonghu = const IconData( 0xe619, fontFamily: "TolyIcon"); -static const IconData icon_common = const IconData( 0xe634, fontFamily: "TolyIcon"); -static const IconData icon_see = const IconData( 0xe608, fontFamily: "TolyIcon"); -static const IconData icon_issues = const IconData( 0xe7a7, fontFamily: "TolyIcon"); -static const IconData icon_fork = const IconData( 0xe623, fontFamily: "TolyIcon"); -static const IconData icon_github_star = const IconData( 0xe7df, fontFamily: "TolyIcon"); -static const IconData icon_show = const IconData( 0xe648, fontFamily: "TolyIcon"); -static const IconData icon_hide = const IconData( 0xe649, fontFamily: "TolyIcon"); -static const IconData icon_email = const IconData( 0xe694, fontFamily: "TolyIcon"); -static const IconData icon_github = const IconData( 0xe689, fontFamily: "TolyIcon"); -static const IconData icon_juejin = const IconData( 0xe601, fontFamily: "TolyIcon"); -static const IconData icon_share = const IconData( 0xe613, fontFamily: "TolyIcon"); -static const IconData icon_background = const IconData( 0xe60a, fontFamily: "TolyIcon"); -static const IconData icon_code = const IconData( 0xe70b, fontFamily: "TolyIcon"); -static const IconData icon_item = const IconData( 0xe66f, fontFamily: "TolyIcon"); -static const IconData icon_kafei = const IconData( 0xe6aa, fontFamily: "TolyIcon"); -static const IconData icon_tag = const IconData( 0xe6e7, fontFamily: "TolyIcon"); -static const IconData icon_them = const IconData( 0xe6c2, fontFamily: "TolyIcon"); -static const IconData icon_bug = const IconData( 0xe7af, fontFamily: "TolyIcon"); -static const IconData icon_layout = const IconData( 0xe631, fontFamily: "TolyIcon"); -static const IconData icon_sound = const IconData( 0xe606, fontFamily: "TolyIcon"); -static const IconData icon_search = const IconData( 0xe604, fontFamily: "TolyIcon"); -static const IconData icon_star_ok = const IconData( 0xe6ae, fontFamily: "TolyIcon"); -static const IconData icon_star = const IconData( 0xe609, fontFamily: "TolyIcon"); -static const IconData icon_star_add = const IconData( 0xe68e, fontFamily: "TolyIcon"); +static const IconData upload_success = IconData( 0xe60b, fontFamily: "TolyIcon"); +static const IconData download = IconData( 0xea51, fontFamily: "TolyIcon"); +static const IconData upload = IconData( 0xea52, fontFamily: "TolyIcon"); +static const IconData error = IconData( 0xe614, fontFamily: "TolyIcon"); +static const IconData dingzhi1 = IconData( 0xe60e, fontFamily: "TolyIcon"); +static const IconData icon_collect = IconData( 0xe672, fontFamily: "TolyIcon"); +static const IconData yonghu = IconData( 0xe619, fontFamily: "TolyIcon"); +static const IconData icon_common = IconData( 0xe634, fontFamily: "TolyIcon"); +static const IconData icon_see = IconData( 0xe608, fontFamily: "TolyIcon"); +static const IconData icon_issues = IconData( 0xe7a7, fontFamily: "TolyIcon"); +static const IconData icon_fork = IconData( 0xe623, fontFamily: "TolyIcon"); +static const IconData icon_github_star = IconData( 0xe7df, fontFamily: "TolyIcon"); +static const IconData icon_show = IconData( 0xe648, fontFamily: "TolyIcon"); +static const IconData icon_hide = IconData( 0xe649, fontFamily: "TolyIcon"); +static const IconData icon_email = IconData( 0xe694, fontFamily: "TolyIcon"); +static const IconData icon_github = IconData( 0xe689, fontFamily: "TolyIcon"); +static const IconData icon_juejin = IconData( 0xe601, fontFamily: "TolyIcon"); +static const IconData icon_share = IconData( 0xe613, fontFamily: "TolyIcon"); +static const IconData icon_background = IconData( 0xe60a, fontFamily: "TolyIcon"); +static const IconData icon_code = IconData( 0xe70b, fontFamily: "TolyIcon"); +static const IconData icon_item = IconData( 0xe66f, fontFamily: "TolyIcon"); +static const IconData icon_kafei = IconData( 0xe6aa, fontFamily: "TolyIcon"); +static const IconData icon_tag = IconData( 0xe6e7, fontFamily: "TolyIcon"); +static const IconData icon_them = IconData( 0xe6c2, fontFamily: "TolyIcon"); +static const IconData icon_bug = IconData( 0xe7af, fontFamily: "TolyIcon"); +static const IconData icon_layout = IconData( 0xe631, fontFamily: "TolyIcon"); +static const IconData icon_sound = IconData( 0xe606, fontFamily: "TolyIcon"); +static const IconData icon_search = IconData( 0xe604, fontFamily: "TolyIcon"); +static const IconData icon_star_ok = IconData( 0xe6ae, fontFamily: "TolyIcon"); +static const IconData icon_star = IconData( 0xe609, fontFamily: "TolyIcon"); +static const IconData icon_star_add = IconData( 0xe68e, fontFamily: "TolyIcon"); } \ No newline at end of file diff --git a/lib/app/utils/Toast.dart b/lib/app/utils/Toast.dart index 032ffbb..87e6ef6 100644 --- a/lib/app/utils/Toast.dart +++ b/lib/app/utils/Toast.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class Toast { diff --git a/lib/app/utils/convert_man.dart b/lib/app/utils/convert_man.dart index f6386ed..0545fb8 100644 --- a/lib/app/utils/convert_man.dart +++ b/lib/app/utils/convert_man.dart @@ -37,9 +37,7 @@ class ConvertMan { } static String _getDateStr(DateTime date) { - if (date == null || date.toString() == null) { - return ""; - } else if (date.toString().length < 10) { + if (date.toString().length < 10) { return date.toString(); } return date.toString().substring(0, 10); diff --git a/lib/app/utils/http_utils/http_util.dart b/lib/app/utils/http_utils/http_util.dart index 4ae2b52..4eda395 100644 --- a/lib/app/utils/http_utils/http_util.dart +++ b/lib/app/utils/http_utils/http_util.dart @@ -10,7 +10,7 @@ const int _kSendTimeout = 5000; const int _kConnectTimeout = 5000; class HttpUtil { - static HttpUtil _instance = HttpUtil._internal(); + static final HttpUtil _instance = HttpUtil._internal(); Dio? _dio; static const CODE_SUCCESS = 200; diff --git a/lib/app/utils/http_utils/logs_interceptor.dart b/lib/app/utils/http_utils/logs_interceptor.dart index 18d3192..04c3368 100644 --- a/lib/app/utils/http_utils/logs_interceptor.dart +++ b/lib/app/utils/http_utils/logs_interceptor.dart @@ -24,9 +24,6 @@ class LogsInterceptors extends InterceptorsWrapper { @override void onResponse(Response response, ResponseInterceptorHandler handler) { - if (response != null) { - var responseStr = response.toString(); - } return handler.next(response); // continue } } \ No newline at end of file diff --git a/lib/app/utils/http_utils/token_interceptor.dart b/lib/app/utils/http_utils/token_interceptor.dart index a14c177..97c12c5 100644 --- a/lib/app/utils/http_utils/token_interceptor.dart +++ b/lib/app/utils/http_utils/token_interceptor.dart @@ -19,7 +19,7 @@ class TokenInterceptors extends InterceptorsWrapper { onTokenDisabled?.call(); } } - if (token != null&&token.isNotEmpty) { + if (token.isNotEmpty) { options.headers[_kTokenKey] = '$_kTokenPrefix$token'; } return handler.next(options); diff --git a/lib/app/utils/pather.dart b/lib/app/utils/pather.dart index f4ed2dd..6953fdf 100644 --- a/lib/app/utils/pather.dart +++ b/lib/app/utils/pather.dart @@ -7,7 +7,7 @@ class Pather { static Pather create = Pather._(); - Path _path = Path(); + final Path _path = Path(); Path nStarPath(int num, double R, double r, {dx = 0, dy = 0}) { _path.reset();//重置路径 diff --git a/lib/app/views/about/about_app_page.dart b/lib/app/views/about/about_app_page.dart index 6dcdabd..02bcb5d 100644 --- a/lib/app/views/about/about_app_page.dart +++ b/lib/app/views/about/about_app_page.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; /// create by 张风捷特烈 on 2020-04-13 /// contact me by email 1981462002@qq.com /// 说明: @@ -20,39 +19,37 @@ class AboutAppPage extends StatelessWidget { body: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - child: Stack( - children: [ - Container( - height: 150, - width: MediaQuery.of(context).size.width, - margin: EdgeInsets.only(bottom: 50), - child: Image.asset( - 'assets/images/sabar.webp', - fit: BoxFit.cover, - ), + Stack( + children: [ + Container( + height: 150, + width: MediaQuery.of(context).size.width, + margin: const EdgeInsets.only(bottom: 50), + child: Image.asset( + 'assets/images/sabar.webp', + fit: BoxFit.cover, ), - _buildBar(context), - Positioned( - bottom: 0, - left: 50, - child: GestureDetector( - onTap: (){ - Navigator.push(context, Right2LeftRouter(child: FlutterUnitTimeLine())); - }, - child: CircleImage( - size: 100, - shadowColor: Theme.of(context).primaryColor, - image: AssetImage('assets/images/icon_head.webp'), - ), - )), - ], - ), + ), + _buildBar(context), + Positioned( + bottom: 0, + left: 50, + child: GestureDetector( + onTap: (){ + Navigator.push(context, Right2LeftRouter(child: const FlutterUnitTimeLine())); + }, + child: CircleImage( + size: 100, + shadowColor: Theme.of(context).primaryColor, + image: const AssetImage('assets/images/icon_head.webp'), + ), + )), + ], ), Expanded( child: SingleChildScrollView( child: Container( - margin: EdgeInsets.all(24), + margin: const EdgeInsets.all(24), child: _buildInfo(), ), ), @@ -71,7 +68,7 @@ class AboutAppPage extends StatelessWidget { GestureDetector( onTap: () => Navigator.of(context).pop(), child: Container( - padding: EdgeInsets.only(left: 10), + padding: const EdgeInsets.only(left: 10), child: Icon( Icons.arrow_back, size: 30, @@ -79,7 +76,7 @@ class AboutAppPage extends StatelessWidget { ), ), ), - Spacer(), + const Spacer(), FeedbackWidget( onPressed: () => _launchURL("mailto:1981462002@qq.com?subject=来自Flutter Unit"), @@ -89,7 +86,7 @@ class AboutAppPage extends StatelessWidget { color: Theme.of(context).primaryColor, ), ), - SizedBox( + const SizedBox( width: 20, ) ], @@ -121,11 +118,11 @@ class AboutAppPage extends StatelessWidget { direction: Axis.vertical, crossAxisAlignment: WrapCrossAlignment.center, children: [ - Icon( + const Icon( TolyIcon.icon_github, size: 35, ), - Text('Github') + const Text('Github') ], )), ], @@ -134,34 +131,34 @@ class AboutAppPage extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( + const Text( 'Flutter Unit', style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold), ), - SizedBox(height: 20), - Text( + const SizedBox(height: 20), + const Text( 'The Unity Of Flutter, The Unity Of Coder.', - style: TextStyle(fontSize: 16), + style: const TextStyle(fontSize: 16), ), - SizedBox(height: 10), - Text( + const SizedBox(height: 10), + const Text( 'Flutter的联合,编程者的联合。', style: TextStyle(fontSize: 16), ), - Divider( + const Divider( height: 20, ), - InfoPanel( + const InfoPanel( title: '项目简介', info: ' Flutter Unit 是一个非盈利性的开源项目,' '旨在提供全面的Flutter学习指南及编程者的交流技术的接口。' '由【张风捷特烈】提供技术支持和全权维护。唯一开源网站网址: ' 'https://github.com/toly1994328/FlutterUnit', ), - Divider( + const Divider( height: 20, ), - InfoPanel( + const InfoPanel( title: 'Flutter Unit 1.0', info: 'Flutter Unit 1.0 核心计划是收录widget,即widget集录。' '目前收录组件 283 个,均可在 app 中进行查看。' @@ -173,10 +170,10 @@ class AboutAppPage extends StatelessWidget { '○ 主题、字体设置,代码风格等全局状态管理。\n' '○ 搜索功能和组件星级分类。', ), - Divider( + const Divider( height: 20, ), - InfoPanel( + const InfoPanel( title: 'Flutter Unit 2.0 计划', info: 'Flutter Unit 2.0 尚在计划之中,如果说1.0是本王单枪匹马,' '那2.0将是Flutter爱好者的共同努力。后面陆续会发布一些征集方案,' @@ -206,18 +203,18 @@ class InfoPanel extends StatelessWidget { Circle(color: Theme.of(context).primaryColor), Padding( padding: const EdgeInsets.only(left: 15,top: 15,bottom: 15), - child: Text('$title',style: TextStyle(fontSize: 16,fontWeight: FontWeight.bold),), + child: Text(title,style: const TextStyle(fontSize: 16,fontWeight: FontWeight.bold),), ) ], ), Panel( color: Theme.of(context).primaryColor.withAlpha(33), child: Text( - '$info', - style: TextStyle(color: Colors.grey, + info, + style: const TextStyle(color: Colors.grey, fontSize: 13, shadows: [ - Shadow( + const Shadow( color: Colors.white, offset: Offset(1,1) ) diff --git a/lib/app/views/about/about_me_page.dart b/lib/app/views/about/about_me_page.dart index a17c510..5c9c259 100644 --- a/lib/app/views/about/about_me_page.dart +++ b/lib/app/views/about/about_me_page.dart @@ -160,7 +160,7 @@ class AboutMePage extends StatelessWidget { child: Wrap( direction: Axis.vertical, crossAxisAlignment: WrapCrossAlignment.center, - children: [ + children: const[ Icon( TolyIcon.icon_github, size: 35, diff --git a/lib/app/views/splash/unit_splash.dart b/lib/app/views/splash/unit_splash.dart index 1625de2..7337a1e 100644 --- a/lib/app/views/splash/unit_splash.dart +++ b/lib/app/views/splash/unit_splash.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -28,7 +27,7 @@ class UnitSplash extends StatefulWidget { class _UnitSplashState extends State with TickerProviderStateMixin { late AnimationController _controller; - ValueNotifier _animEnd = ValueNotifier(false); + final ValueNotifier _animEnd = ValueNotifier(false); final Duration animTime = const Duration(milliseconds: 1000); final Duration delayTime = const Duration(milliseconds: 500); diff --git a/lib/components/drop_selectable_widget.dart b/lib/components/drop_selectable_widget.dart index ca5d486..ee51f0a 100644 --- a/lib/components/drop_selectable_widget.dart +++ b/lib/components/drop_selectable_widget.dart @@ -35,7 +35,6 @@ class _DropSelectableWidgetState extends State late FocusNode _node; bool _focused = false; late FocusAttachment _nodeAttachment; - Color _color = Colors.white; OverlayEntry? _overlayEntry; late AnimationController _ctrl; late Animation animation; @@ -120,7 +119,7 @@ class _DropSelectableWidgetState extends State mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - '${widget.data.isNotEmpty ? widget.data[_selectedIndex] : "暂无数据"}',style: TextStyle( + widget.data.isNotEmpty ? widget.data[_selectedIndex] : "暂无数据",style: TextStyle( height: 1, fontSize: widget.fontSize ),), @@ -192,7 +191,7 @@ class _DropSelectableWidgetState extends State color: index == _selectedIndex ? Colors.blue.withOpacity(0.2) : Colors.transparent, - child: Text('${widget.data[index]}',style: TextStyle(fontSize: widget.fontSize),)), + child: Text(widget.data[index],style: TextStyle(fontSize: widget.fontSize),)), ), ); } diff --git a/lib/components/flutter/no_div_expansion_tile.dart b/lib/components/flutter/no_div_expansion_tile.dart index 2fce786..5c08447 100644 --- a/lib/components/flutter/no_div_expansion_tile.dart +++ b/lib/components/flutter/no_div_expansion_tile.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; const Duration _kExpand = Duration(milliseconds: 200); @@ -37,8 +36,7 @@ class NoBorderExpansionTile extends StatefulWidget { this.children = const [], this.trailing, this.initiallyExpanded = false, - }) : assert(initiallyExpanded != null), - super(key: key); + }) : super(key: key); /// A widget to display before the title. /// diff --git a/lib/components/permanent/code/code_widget.dart b/lib/components/permanent/code/code_widget.dart index c0f0c40..8dadb17 100644 --- a/lib/components/permanent/code/code_widget.dart +++ b/lib/components/permanent/code/code_widget.dart @@ -2,12 +2,11 @@ /// create by 张风捷特烈 on 2020-04-15 /// contact me by email 1981462002@qq.com /// 说明: - import 'package:flutter/material.dart'; -import 'language/dart_languge.dart'; import 'high_light_code.dart'; import 'highlighter_style.dart'; +import 'language/dart_languge.dart'; class CodeWidget extends StatelessWidget { CodeWidget({Key? key, required this.code,required this.style, this.fontSize = 13,this.fontFamily}) @@ -21,10 +20,7 @@ class CodeWidget extends StatelessWidget { @override Widget build(BuildContext context) { Widget body; - if (code == null) { - return Container(); - } else { - Widget _codeWidget; + Widget _codeWidget; try { _codeWidget = RichText( text: TextSpan( @@ -49,7 +45,6 @@ class CodeWidget extends StatelessWidget { borderRadius: BorderRadius.all(Radius.circular(5.0))), ), ); - } return body; } } \ No newline at end of file diff --git a/lib/components/permanent/feedback_widget.dart b/lib/components/permanent/feedback_widget.dart index d7090a4..0594c01 100644 --- a/lib/components/permanent/feedback_widget.dart +++ b/lib/components/permanent/feedback_widget.dart @@ -19,7 +19,7 @@ class FeedbackWidget extends StatefulWidget { final Function()? onPressed; final Function()? onEnd; final Function()? onLongPressed; - final a; + final double a; FeedbackWidget({ required this.child, diff --git a/lib/components/permanent/markdown/markdown_widget.dart b/lib/components/permanent/markdown/markdown_widget.dart index d7ec43c..8ef915d 100644 --- a/lib/components/permanent/markdown/markdown_widget.dart +++ b/lib/components/permanent/markdown/markdown_widget.dart @@ -111,10 +111,10 @@ class MarkdownWidget extends StatelessWidget { String mdDataCode = markdownData; try { Iterable tags = exp.allMatches(markdownData); - if (tags != null && tags.length > 0) { + if (tags.isNotEmpty) { for (Match m in tags) { String imageMatch = m.group(0)??''; - if (imageMatch != null && !imageMatch.contains(".svg")) { + if (!imageMatch.contains(".svg")) { String match = imageMatch.replaceAll("\)", "?raw=true)"); if (!match.contains(".svg") && match.contains("http")) { ///增加点击 @@ -133,20 +133,18 @@ class MarkdownWidget extends StatelessWidget { ///优化img标签的src资源 tags = expImg.allMatches(markdownData); - if (tags != null && tags.length > 0) { + if (tags.isNotEmpty) { for (Match m in tags) { String imageTag = m.group(0)??''; String match = imageTag; - if (imageTag != null) { - Iterable srcTags = expSrc.allMatches(imageTag); - for (Match srcMatch in srcTags) { - String srcString = srcMatch.group(0)??''; - if (srcString != null && srcString.contains("http")) { - String newSrc = srcString.substring( - srcString.indexOf("http"), srcString.length - 1) + - "?raw=true"; - match = "[![]($newSrc)]($newSrc)"; - } + Iterable srcTags = expSrc.allMatches(imageTag); + for (Match srcMatch in srcTags) { + String srcString = srcMatch.group(0)??''; + if (srcString.contains("http")) { + String newSrc = srcString.substring( + srcString.indexOf("http"), srcString.length - 1) + + "?raw=true"; + match = "[![]($newSrc)]($newSrc)"; } } mdDataCode = mdDataCode.replaceAll(imageTag, match); diff --git a/lib/components/permanent/markdown/syntax_high_lighter.dart b/lib/components/permanent/markdown/syntax_high_lighter.dart index 350aed7..2a9c6b2 100644 --- a/lib/components/permanent/markdown/syntax_high_lighter.dart +++ b/lib/components/permanent/markdown/syntax_high_lighter.dart @@ -44,7 +44,7 @@ class DartSyntaxHighlighter extends SyntaxCostomHighlighter { DartSyntaxHighlighter([this._style]) { _spans = <_HighlightSpan>[]; - if (_style == null) _style = SyntaxHighlighterStyle.defaultStyle(); + _style ??= SyntaxHighlighterStyle.defaultStyle(); } SyntaxHighlighterStyle? _style; @@ -136,6 +136,7 @@ class DartSyntaxHighlighter extends SyntaxCostomHighlighter { List<_HighlightSpan> _spans =[]; + @override TextSpan format(String src) { _src = src; _scanner = StringScanner(_src); @@ -327,7 +328,7 @@ class DartSyntaxHighlighter extends SyntaxCostomHighlighter { // Check if this loop did anything if (lastLoopPosition == _scanner.position) { // Failed to parse this file, abort gracefully - if (_spans.length > 0) { + if (_spans.isNotEmpty) { _spans.add( _HighlightSpan(_HighlightType.punctuation, lastLoopPosition, _scanner.string.length - 1)); _simplify(); @@ -358,7 +359,7 @@ class DartSyntaxHighlighter extends SyntaxCostomHighlighter { } bool _firstLetterIsUpperCase(String str) { - if (str.length > 0) { + if (str.isNotEmpty) { String first = str.substring(0, 1); return first == first.toUpperCase(); } diff --git a/lib/components/permanent/math_runner.dart b/lib/components/permanent/math_runner.dart index 7858eed..2e2e4ec 100644 --- a/lib/components/permanent/math_runner.dart +++ b/lib/components/permanent/math_runner.dart @@ -48,11 +48,9 @@ class _MathRunnerState extends State @override Widget build(BuildContext context) { - return Container( - child: Align( - alignment: Alignment(_x, _y), - child: widget.child, - ) + return Align( + alignment: Alignment(_x, _y), + child: widget.child, ); } } diff --git a/lib/components/permanent/multi_chip_filter.dart b/lib/components/permanent/multi_chip_filter.dart index bf0b853..9a71402 100644 --- a/lib/components/permanent/multi_chip_filter.dart +++ b/lib/components/permanent/multi_chip_filter.dart @@ -19,7 +19,7 @@ class MultiChipFilter extends StatefulWidget { } class _MultiChipFilterState extends State> { - List _selected = []; + final List _selected = []; @override Widget build(BuildContext context) { @@ -49,7 +49,7 @@ class _MultiChipFilterState extends State> { } else { _selected.removeWhere((i) => i == index); } - if(widget.onChange!=null) widget.onChange(_selected); + widget.onChange(_selected); }); }, ); diff --git a/lib/components/permanent/tag.dart b/lib/components/permanent/tag.dart index fb54cb5..e240302 100644 --- a/lib/components/permanent/tag.dart +++ b/lib/components/permanent/tag.dart @@ -27,14 +27,14 @@ class Tag extends StatelessWidget { class _TagPaint extends CustomPainter { Path path = Path(); Path shadowPath = Path(); - Paint _paint; - final tranRate; + final Paint _paint; + final double tranRate; final double shadowHeight; final Color color; final rate = 0.5; - _TagPaint({this.tranRate,required this.color ,required this.shadowHeight}) + _TagPaint({this.tranRate=0,required this.color ,required this.shadowHeight}) : _paint = Paint()..color = color; @override diff --git a/lib/components/project/color_chooser.dart b/lib/components/project/color_chooser.dart index 0b1c92b..5105f70 100644 --- a/lib/components/project/color_chooser.dart +++ b/lib/components/project/color_chooser.dart @@ -100,7 +100,7 @@ class _IconChooserState extends State { _checkLi[_perPosition] = false; _perPosition = i; _checkLi[i] = true; - if (widget.onChecked != null) widget.onChecked(i); + widget.onChecked(i); setState(() {}); }, child: buildIcon(checked: _checkLi[i], icon: widget.icons[i]))); diff --git a/lib/components/project/dialogs/delete_category_dialog.dart b/lib/components/project/dialogs/delete_category_dialog.dart index 6473e92..11b3f0f 100644 --- a/lib/components/project/dialogs/delete_category_dialog.dart +++ b/lib/components/project/dialogs/delete_category_dialog.dart @@ -17,17 +17,14 @@ class DeleteCategoryDialog extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( - - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildBar(context), - _buildTitle(context), - _buildContent(), - _buildFooter(context), - ], - ), + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _buildBar(context), + _buildTitle(context), + _buildContent(), + _buildFooter(context), + ], ); } diff --git a/lib/components/project/items/collect_widget_list_item.dart b/lib/components/project/items/collect_widget_list_item.dart index eeb0c22..63d04d8 100644 --- a/lib/components/project/items/collect_widget_list_item.dart +++ b/lib/components/project/items/collect_widget_list_item.dart @@ -97,16 +97,14 @@ class CollectWidgetListItem extends StatelessWidget { Widget _buildSummary() => Padding( padding: const EdgeInsets.only(left: 5, bottom: 5, top: 5), - child: Container( - child: Text( - data.nameCN, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: TextStyle( - color: Colors.grey[600], - fontSize: 14, - shadows: [const Shadow(color: Colors.white, offset: const Offset(.5, .5))]), - ), + child: Text( + data.nameCN, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.grey[600], + fontSize: 14, + shadows: [const Shadow(color: Colors.white, offset: const Offset(.5, .5))]), ), ); } diff --git a/lib/components/project/items/widget/coupon_widget_list_item.dart b/lib/components/project/items/widget/coupon_widget_list_item.dart index 0bbf75a..92d3eb4 100644 --- a/lib/components/project/items/widget/coupon_widget_list_item.dart +++ b/lib/components/project/items/widget/coupon_widget_list_item.dart @@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_star/flutter_star.dart'; import 'package:flutter_unit/app/res/cons.dart'; import 'package:flutter_unit/app/res/style/shape/coupon_shape_border.dart'; -import 'package:flutter_unit/app/router/unit_router.dart'; import 'package:flutter_unit/widget_system/blocs/widget_system_bloc.dart'; import 'package:flutter_unit/components/permanent/circle_image.dart'; @@ -124,7 +123,7 @@ class CouponWidgetListItem extends StatelessWidget { fontWeight: FontWeight.bold, decoration: data.deprecated?TextDecoration.lineThrough:TextDecoration.none, decorationThickness: 2, - shadows: [ + shadows: const [ Shadow(color: Colors.white, offset: Offset(.3, .3)) ])), ), @@ -140,16 +139,14 @@ class CouponWidgetListItem extends StatelessWidget { Widget _buildSummary() { return Padding( padding: const EdgeInsets.only(left: 10, bottom: 10, top: 5), - child: Container( - child: Text( - //尾部摘要 - data.info, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: TextStyle(color: Colors.grey[600], fontSize: 14, shadows: [ - const Shadow(color: Colors.white, offset: const Offset(.5, .5)) - ]), - ), + child: Text( + //尾部摘要 + data.info, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle(color: Colors.grey[600], fontSize: 14, shadows: const [ + Shadow(color: Colors.white, offset: Offset(.5, .5)) + ]), ), ); } diff --git a/lib/components/project/items/widget/simple_widget_list_item.dart b/lib/components/project/items/widget/simple_widget_list_item.dart index 57aec7a..963ab72 100644 --- a/lib/components/project/items/widget/simple_widget_list_item.dart +++ b/lib/components/project/items/widget/simple_widget_list_item.dart @@ -3,11 +3,10 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_star/star.dart'; import 'package:flutter_star/star_score.dart'; import 'package:flutter_unit/app/res/cons.dart'; -import 'package:flutter_unit/widget_system/blocs/widget_system_bloc.dart'; - import 'package:flutter_unit/components/permanent/circle_image.dart'; import 'package:flutter_unit/components/permanent/circle_text.dart'; import 'package:flutter_unit/components/permanent/tag.dart'; +import 'package:flutter_unit/widget_system/blocs/widget_system_bloc.dart'; import 'package:flutter_unit/widget_system/repositories/model/widget_model.dart'; /// create by 张风捷特烈 on 2020/11/17 @@ -123,7 +122,7 @@ class SimpleWidgetListItem extends StatelessWidget { fontWeight: FontWeight.bold, decoration: data.deprecated?TextDecoration.lineThrough:TextDecoration.none, decorationThickness: 2, - shadows: [ + shadows: const [ Shadow(color: Colors.white, offset: Offset(.3, .3)) ])), ), @@ -139,8 +138,8 @@ class SimpleWidgetListItem extends StatelessWidget { data.info, maxLines: 2, overflow: TextOverflow.ellipsis, - style: TextStyle(color: Colors.grey[600], fontSize: 14, shadows: [ - const Shadow(color: Colors.white, offset: const Offset(.5, .5)) + style: TextStyle(color: Colors.grey[600], fontSize: 14, shadows: const [ + Shadow(color: Colors.white, offset: Offset(.5, .5)) ]), ), ); diff --git a/lib/components/project/items/widget/techno_widget_list_item.dart b/lib/components/project/items/widget/techno_widget_list_item.dart index 1347f56..5ef9499 100644 --- a/lib/components/project/items/widget/techno_widget_list_item.dart +++ b/lib/components/project/items/widget/techno_widget_list_item.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_star/flutter_star.dart'; diff --git a/lib/components/project/widget_node_panel.dart b/lib/components/project/widget_node_panel.dart index 443d122..8fb2328 100644 --- a/lib/components/project/widget_node_panel.dart +++ b/lib/components/project/widget_node_panel.dart @@ -76,7 +76,7 @@ class _WidgetNodePanelState extends State { ), Expanded( child: Text( - '${widget.text}', + widget.text, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), ), ), @@ -89,7 +89,7 @@ class _WidgetNodePanelState extends State { width: double.infinity, child: Panel( child: Text( - '${widget.subText}', + widget.subText, style: TextStyle(fontSize: 14), )), ); diff --git a/lib/painter_system/anim/bezier3_player/bezier3_palyer.dart b/lib/painter_system/anim/bezier3_player/bezier3_palyer.dart index 193ed3f..c178a50 100644 --- a/lib/painter_system/anim/bezier3_player/bezier3_palyer.dart +++ b/lib/painter_system/anim/bezier3_player/bezier3_palyer.dart @@ -76,7 +76,7 @@ class _Bezier3PlayerState extends State { class PaperPainter extends CustomPainter { final Coordinate coordinate = Coordinate(); - Paint _helpPaint = Paint() + final Paint _helpPaint = Paint() ..color = Colors.purple ..style = PaintingStyle.stroke ..strokeCap = StrokeCap.round; diff --git a/lib/painter_system/anim/bezier3_player/touch_info.dart b/lib/painter_system/anim/bezier3_player/touch_info.dart index a6d142a..68184e1 100644 --- a/lib/painter_system/anim/bezier3_player/touch_info.dart +++ b/lib/painter_system/anim/bezier3_player/touch_info.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; /// 说明: class TouchInfo extends ChangeNotifier { - List _points = []; + final List _points = []; int _selectIndex = -1; int get selectIndex => _selectIndex; diff --git a/lib/painter_system/anim/curve_shower/anim_painter.dart b/lib/painter_system/anim/curve_shower/anim_painter.dart index 5df1ac1..f0c7084 100644 --- a/lib/painter_system/anim/curve_shower/anim_painter.dart +++ b/lib/painter_system/anim/curve_shower/anim_painter.dart @@ -71,7 +71,7 @@ class AnimPainter extends CustomPainter { double step = size.height / 11; - if(points.values.length>0){ + if(points.values.isNotEmpty){ canvas.drawLine(Offset(0, -points.values.last*step*10), Offset(280, -points.values.last*step*10), Paint()..color=Colors.purple); canvas.drawCircle(Offset(230, -points.values.last*step*10), 10, Paint()..color=Colors.orange); } diff --git a/lib/painter_system/anim/curve_shower/curve_anim_shower.dart b/lib/painter_system/anim/curve_shower/curve_anim_shower.dart index 37fec71..ded0064 100644 --- a/lib/painter_system/anim/curve_shower/curve_anim_shower.dart +++ b/lib/painter_system/anim/curve_shower/curve_anim_shower.dart @@ -1,5 +1,3 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; import 'package:flutter_unit/components/drop_selectable_widget.dart'; diff --git a/lib/painter_system/anim/draw_path.dart b/lib/painter_system/anim/draw_path.dart index b8ca9cc..7c6c2a7 100644 --- a/lib/painter_system/anim/draw_path.dart +++ b/lib/painter_system/anim/draw_path.dart @@ -2,7 +2,6 @@ import 'dart:math'; import 'dart:ui'; import 'dart:ui' as ui; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/5/1 diff --git a/lib/painter_system/anim/dundun_path.dart b/lib/painter_system/anim/dundun_path.dart index ed5853a..cd59d1c 100644 --- a/lib/painter_system/anim/dundun_path.dart +++ b/lib/painter_system/anim/dundun_path.dart @@ -1,5 +1,4 @@ import 'dart:math'; -import 'dart:typed_data'; import 'dart:ui' as ui; import 'dart:ui'; diff --git a/lib/painter_system/anim/spring_widget.dart b/lib/painter_system/anim/spring_widget.dart index 0b3c5a3..d580f1f 100644 --- a/lib/painter_system/anim/spring_widget.dart +++ b/lib/painter_system/anim/spring_widget.dart @@ -100,7 +100,7 @@ class SpringPainter extends CustomPainter { SpringPainter({this.count = 20,required this.height}):super(repaint: height); - Paint _paint = Paint() + final Paint _paint = Paint() ..style = PaintingStyle.stroke ..strokeWidth = 1; diff --git a/lib/painter_system/art/joy_division.dart b/lib/painter_system/art/joy_division.dart index a33ede2..fd6724a 100644 --- a/lib/painter_system/art/joy_division.dart +++ b/lib/painter_system/art/joy_division.dart @@ -1,5 +1,4 @@ import 'dart:math'; -import 'dart:ui'; import 'package:flutter/material.dart'; diff --git a/lib/painter_system/art/piet_mondrian.dart b/lib/painter_system/art/piet_mondrian.dart index af77b0c..cc704f0 100644 --- a/lib/painter_system/art/piet_mondrian.dart +++ b/lib/painter_system/art/piet_mondrian.dart @@ -91,14 +91,14 @@ class PietMondrianPainnter extends CustomPainter { for (int i = squares.length - 1; i >= 0; i--) { final Square square = squares[i]; - if (x != null && x > square.x && x < square.x + square.width) { + if (x > square.x && x < square.x + square.width) { if (Random().nextBool()) { squares.removeAt(i); _splitOnX(square, x, squares); } } - if (y != null && y > square.y && y < square.y + square.height) { + if (y > square.y && y < square.y + square.height) { if (Random().nextBool()) { squares.removeAt(i); _splitOnY(square, y, squares); diff --git a/lib/painter_system/base/clock_widget.dart b/lib/painter_system/base/clock_widget.dart index 4f53745..a55ca37 100644 --- a/lib/painter_system/base/clock_widget.dart +++ b/lib/painter_system/base/clock_widget.dart @@ -1,6 +1,4 @@ import 'dart:math'; -import 'dart:ui'; - import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; diff --git a/lib/painter_system/base/draw_path_fun.dart b/lib/painter_system/base/draw_path_fun.dart index 4213212..18291f7 100644 --- a/lib/painter_system/base/draw_path_fun.dart +++ b/lib/painter_system/base/draw_path_fun.dart @@ -1,7 +1,4 @@ import 'dart:math'; -import 'dart:ui'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'dart:ui' as ui; // import '../coordinate_pro.dart'; diff --git a/lib/painter_system/base/draw_picture.dart b/lib/painter_system/base/draw_picture.dart index 945c80e..abb98d3 100644 --- a/lib/painter_system/base/draw_picture.dart +++ b/lib/painter_system/base/draw_picture.dart @@ -45,7 +45,7 @@ class _DrawPictureState extends State { } class PaperPainter extends CustomPainter { - Paint _paint; + final Paint _paint; final double strokeWidth = 0.5; final Color color = Colors.blue; diff --git a/lib/painter_system/fun/dundun_view.dart b/lib/painter_system/fun/dundun_view.dart index 3763b80..34d3951 100644 --- a/lib/painter_system/fun/dundun_view.dart +++ b/lib/painter_system/fun/dundun_view.dart @@ -1,9 +1,5 @@ import 'dart:math'; -import 'dart:typed_data'; import 'dart:ui' as ui; -import 'dart:ui'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; diff --git a/lib/painter_system/fun/random_portrait.dart b/lib/painter_system/fun/random_portrait.dart index 4c7dd0b..467f392 100644 --- a/lib/painter_system/fun/random_portrait.dart +++ b/lib/painter_system/fun/random_portrait.dart @@ -59,7 +59,7 @@ class _RandomPortraitState extends State { } class PortraitPainter extends CustomPainter { - Paint _paint; + final Paint _paint; final int blockCount; final Color color; diff --git a/lib/painter_system/gallery_detail_page.dart b/lib/painter_system/gallery_detail_page.dart index 2343f10..94437f2 100644 --- a/lib/painter_system/gallery_detail_page.dart +++ b/lib/painter_system/gallery_detail_page.dart @@ -156,7 +156,7 @@ class _GalleryDetailPageState extends State { // 跳转上一页 void _switchPrevPage() { - if (widget.children.length > 0) { + if (widget.children.isNotEmpty) { int page = (_currentIndex.value - 1) % widget.children.length; _ctrl.animateToPage(page, duration: const Duration(milliseconds: 500), curve: Curves.linear); @@ -165,7 +165,7 @@ class _GalleryDetailPageState extends State { // 跳转下一页 void _switchNextPage() { - if (widget.children.length > 0) { + if (widget.children.isNotEmpty) { int page = (_currentIndex.value + 1) % widget.children.length; _ctrl.animateToPage(page, duration: const Duration(milliseconds: 500), curve: Curves.linear); @@ -202,7 +202,7 @@ class _GalleryDetailPageState extends State { Widget _buildIndicatorText(BuildContext context, int value, Widget? child) { String indicatorText = - "${widget.children.length != 0 ? (value + 1) : 0} / ${widget.children.length}"; + "${widget.children.isNotEmpty ? (value + 1) : 0} / ${widget.children.length}"; return Text( indicatorText, diff --git a/lib/painter_system/particle/out/clock_widget.dart b/lib/painter_system/particle/out/clock_widget.dart index 5f05a00..de73076 100644 --- a/lib/painter_system/particle/out/clock_widget.dart +++ b/lib/painter_system/particle/out/clock_widget.dart @@ -1,7 +1,4 @@ import 'dart:math'; -import 'dart:ui'; - -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; diff --git a/lib/painter_system/particle/out/particle.dart b/lib/painter_system/particle/out/particle.dart index e106040..261db7f 100644 --- a/lib/painter_system/particle/out/particle.dart +++ b/lib/painter_system/particle/out/particle.dart @@ -1,7 +1,4 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; class Particle { diff --git a/lib/painter_system/particle/random/particle.dart b/lib/painter_system/particle/random/particle.dart index 114358a..2930bba 100644 --- a/lib/painter_system/particle/random/particle.dart +++ b/lib/painter_system/particle/random/particle.dart @@ -1,7 +1,4 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; class Particle { /// x 位移. diff --git a/lib/painter_system/particle/random/particle_manage.dart b/lib/painter_system/particle/random/particle_manage.dart index d8b70b4..8eb2db9 100644 --- a/lib/painter_system/particle/random/particle_manage.dart +++ b/lib/painter_system/particle/random/particle_manage.dart @@ -1,5 +1,3 @@ -import 'dart:math'; - import 'package:flutter/cupertino.dart'; import 'particle.dart'; diff --git a/lib/painter_system/particle/random/random_particle.dart b/lib/painter_system/particle/random/random_particle.dart index bee67e1..e61fd27 100644 --- a/lib/painter_system/particle/random/random_particle.dart +++ b/lib/painter_system/particle/random/random_particle.dart @@ -1,8 +1,5 @@ import 'dart:async'; import 'dart:math'; -import 'dart:ui'; - -// import 'dart:ui' as ui; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'particle.dart'; diff --git a/lib/painter_system/particle/split/particle.dart b/lib/painter_system/particle/split/particle.dart index 63df95d..cffe5e8 100644 --- a/lib/painter_system/particle/split/particle.dart +++ b/lib/painter_system/particle/split/particle.dart @@ -1,7 +1,4 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; class Particle { /// x 位移. diff --git a/lib/painter_system/particle/split/particle_split.dart b/lib/painter_system/particle/split/particle_split.dart index e92a81b..1b36bbc 100644 --- a/lib/painter_system/particle/split/particle_split.dart +++ b/lib/painter_system/particle/split/particle_split.dart @@ -1,9 +1,4 @@ -import 'dart:async'; import 'dart:math'; -import 'dart:ui'; - -// import 'dart:ui' as ui; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'particle.dart'; diff --git a/lib/painter_system/particle/split_img/particle.dart b/lib/painter_system/particle/split_img/particle.dart index 1930352..2611c3b 100644 --- a/lib/painter_system/particle/split_img/particle.dart +++ b/lib/painter_system/particle/split_img/particle.dart @@ -1,7 +1,4 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; class Particle { /// x 位移. diff --git a/lib/painter_system/particle/split_img/particle_manage.dart b/lib/painter_system/particle/split_img/particle_manage.dart index 0bb5479..0315654 100644 --- a/lib/painter_system/particle/split_img/particle_manage.dart +++ b/lib/painter_system/particle/split_img/particle_manage.dart @@ -32,7 +32,7 @@ class ParticleManage with ChangeNotifier { doUpdate(particles[i]); } } - if(particles.length!=0){ + if(particles.isNotEmpty){ notifyListeners(); } } @@ -57,7 +57,7 @@ class ParticleManage with ChangeNotifier { if (p.y < 0) { particles.remove(p); } - if(particles.length==0){ + if(particles.isEmpty){ onEnd?.call(); } } diff --git a/lib/painter_system/particle/split_img/split_image.dart b/lib/painter_system/particle/split_img/split_image.dart index 4aef913..9f16528 100644 --- a/lib/painter_system/particle/split_img/split_image.dart +++ b/lib/painter_system/particle/split_img/split_image.dart @@ -1,8 +1,4 @@ - import 'dart:math'; -import 'dart:typed_data'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'particle.dart'; diff --git a/lib/point_system/views/issues_point/issues_point_page.dart b/lib/point_system/views/issues_point/issues_point_page.dart index 1bb0458..9dc1c8a 100644 --- a/lib/point_system/views/issues_point/issues_point_page.dart +++ b/lib/point_system/views/issues_point/issues_point_page.dart @@ -1,5 +1,3 @@ -import 'package:flutter/cupertino.dart'; - import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; @@ -45,15 +43,13 @@ class _IssuesPointContentState extends State { @override Widget build(BuildContext context) { return BlocBuilder( - builder: (_, state) => Container( - child: RefreshIndicator( - onRefresh: _loadIssues, - child: CustomScrollView(slivers: [ - _buildSliverAppBar(), - buildContentByState(state) - ]), - ), - )); + builder: (_, state) => RefreshIndicator( + onRefresh: _loadIssues, + child: CustomScrollView(slivers: [ + _buildSliverAppBar(), + buildContentByState(state) + ]), + )); } Widget buildContentByState(PointState state) { diff --git a/lib/user_system/api/system_api.dart b/lib/user_system/api/system_api.dart index 71c700e..5d2c116 100644 --- a/lib/user_system/api/system_api.dart +++ b/lib/user_system/api/system_api.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter_unit/app/res/path_unit.dart'; import 'package:flutter_unit/app/utils/http_utils/http_util.dart'; import 'package:flutter_unit/app/utils/http_utils/result_bean.dart'; @@ -10,7 +9,7 @@ import 'package:flutter_unit/app/utils/http_utils/result_bean.dart'; class SystemApi { static Future> sendEmail({required String email}) async { var result = - await HttpUtil.getInstance().client.post(PathUnit.sendEmail + "$email"); + await HttpUtil.getInstance().client.post(PathUnit.sendEmail + email); if (result.data != null) { return ResultBean.fromData(result.data); diff --git a/lib/user_system/bloc/authentic/event.dart b/lib/user_system/bloc/authentic/event.dart index c26df29..2332f4a 100644 --- a/lib/user_system/bloc/authentic/event.dart +++ b/lib/user_system/bloc/authentic/event.dart @@ -1,9 +1,7 @@ import 'package:equatable/equatable.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_unit/user_system/model/user.dart'; - ///********************************验证行为******************************** abstract class AuthEvent extends Equatable { diff --git a/lib/user_system/bloc/login/bloc.dart b/lib/user_system/bloc/login/bloc.dart index 3174ce9..f1c8442 100644 --- a/lib/user_system/bloc/login/bloc.dart +++ b/lib/user_system/bloc/login/bloc.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/user_system/api/user_api.dart'; import 'package:flutter_unit/app/utils/http_utils/result_bean.dart'; diff --git a/lib/user_system/pages/register/register_page.dart b/lib/user_system/pages/register/register_page.dart index 056d38f..7e630a6 100644 --- a/lib/user_system/pages/register/register_page.dart +++ b/lib/user_system/pages/register/register_page.dart @@ -30,7 +30,7 @@ class _RegisterPageState extends State { final _emailCtrl = TextEditingController(text: '1981462002@qq.com'); final _codeCtrl = TextEditingController(text: ''); - ValueNotifier _enableRegister= ValueNotifier(false); + final ValueNotifier _enableRegister= ValueNotifier(false); bool get enable => _emailCtrl.text.isNotEmpty && _codeCtrl.text.isNotEmpty; @@ -64,42 +64,39 @@ class _RegisterPageState extends State { width: winSize.width, height: winSize.height * 0.68, padding: const EdgeInsets.only(left: 20.0, right: 20, top: 20), - child: Container( - // color: Colors.green, - child: Column( - children: [ - const Text( - "FlutterUnit 注册", - style: TextStyle(fontSize: 25), - ), - const SizedBox( - height: 5, - ), - const Text( - "更多精彩,更多体验 ~", - style: TextStyle(color: Colors.grey), - ), - const Spacer( - flex: 1, - ), - IconInput( - icon: Icons.person_outline, - textFiled: TextField( - controller: _emailCtrl, - decoration: InputDecoration( - border: InputBorder.none, - hintText: '请输入邮箱', - hintStyle: TextStyle(color: Colors.grey), - ), + child: Column( + children: [ + const Text( + "FlutterUnit 注册", + style: TextStyle(fontSize: 25), + ), + const SizedBox( + height: 5, + ), + const Text( + "更多精彩,更多体验 ~", + style: TextStyle(color: Colors.grey), + ), + const Spacer( + flex: 1, + ), + IconInput( + icon: Icons.person_outline, + textFiled: TextField( + controller: _emailCtrl, + decoration: InputDecoration( + border: InputBorder.none, + hintText: '请输入邮箱', + hintStyle: TextStyle(color: Colors.grey), ), ), - const SizedBox(height: 10), - buildInputWithSend(), - const Spacer(flex: 1), - _buildBtn(), - const Spacer(flex: 4), - ], - ), + ), + const SizedBox(height: 10), + buildInputWithSend(), + const Spacer(flex: 1), + _buildBtn(), + const Spacer(flex: 4), + ], )) ]), )); @@ -146,7 +143,6 @@ class _RegisterPageState extends State { } bool _checkEmail(String email) { - if (email == null) return false; RegExp exp = RegExp(r'^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$'); return exp.hasMatch(email); diff --git a/lib/user_system/pages/user/user_page.dart b/lib/user_system/pages/user/user_page.dart index cdcf9be..313cf3c 100644 --- a/lib/user_system/pages/user/user_page.dart +++ b/lib/user_system/pages/user/user_page.dart @@ -1,5 +1,3 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/user_system/bloc/authentic/bloc.dart'; diff --git a/lib/widget_system/blocs/category_bloc/category_bloc.dart b/lib/widget_system/blocs/category_bloc/category_bloc.dart index 7783d6c..4243c98 100644 --- a/lib/widget_system/blocs/category_bloc/category_bloc.dart +++ b/lib/widget_system/blocs/category_bloc/category_bloc.dart @@ -1,5 +1,3 @@ - -import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/res/style/unit_color.dart'; import 'package:flutter_unit/app/utils/color_utils.dart'; diff --git a/lib/widget_system/blocs/category_bloc/category_state.dart b/lib/widget_system/blocs/category_bloc/category_state.dart index a6624aa..2fee398 100644 --- a/lib/widget_system/blocs/category_bloc/category_state.dart +++ b/lib/widget_system/blocs/category_bloc/category_state.dart @@ -23,6 +23,7 @@ class CategoryLoadedState extends CategoryState { class CategoryLoadingState extends CategoryState { const CategoryLoadingState(); + @override List get props => []; } diff --git a/lib/widget_system/blocs/category_widget_bloc/category_widget_bloc.dart b/lib/widget_system/blocs/category_widget_bloc/category_widget_bloc.dart index 979b3bc..3c1bf77 100644 --- a/lib/widget_system/blocs/category_widget_bloc/category_widget_bloc.dart +++ b/lib/widget_system/blocs/category_widget_bloc/category_widget_bloc.dart @@ -1,6 +1,3 @@ - -import 'dart:async'; - import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/widget_system/repositories/repositories.dart'; diff --git a/lib/widget_system/blocs/category_widget_bloc/category_widget_state.dart b/lib/widget_system/blocs/category_widget_bloc/category_widget_state.dart index b26edf9..f13cfda 100644 --- a/lib/widget_system/blocs/category_widget_bloc/category_widget_state.dart +++ b/lib/widget_system/blocs/category_widget_bloc/category_widget_state.dart @@ -17,11 +17,13 @@ class CategoryWidgetLoadedState extends CategoryWidgetState { CategoryWidgetLoadedState(this.widgets); + @override List get props => [widgets]; } class CategoryWidgetEmptyState extends CategoryWidgetState{ + @override List get props => []; } diff --git a/lib/widget_system/blocs/liked_widget_bloc/liked_widget_bloc.dart b/lib/widget_system/blocs/liked_widget_bloc/liked_widget_bloc.dart index f2f4dcc..63cd718 100644 --- a/lib/widget_system/blocs/liked_widget_bloc/liked_widget_bloc.dart +++ b/lib/widget_system/blocs/liked_widget_bloc/liked_widget_bloc.dart @@ -1,5 +1,3 @@ -import 'dart:async'; - import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/widget_system/repositories/repositories.dart'; diff --git a/lib/widget_system/blocs/search_bloc/search_bloc.dart b/lib/widget_system/blocs/search_bloc/search_bloc.dart index 4d886e1..e493976 100644 --- a/lib/widget_system/blocs/search_bloc/search_bloc.dart +++ b/lib/widget_system/blocs/search_bloc/search_bloc.dart @@ -1,5 +1,3 @@ -import 'dart:async'; - import 'package:bloc/bloc.dart'; import 'package:stream_transform/stream_transform.dart'; import 'package:flutter_unit/widget_system/repositories/repositories.dart'; @@ -28,7 +26,7 @@ class SearchBloc extends Bloc { emit(SearchStateLoading()); try { final results = await repository.searchWidgets(event.args); - results.length == 0 + results.isEmpty ? emit(SearchStateEmpty()) : emit(SearchStateSuccess(results)); } catch (error) { diff --git a/lib/widget_system/blocs/widget_detail_bloc/widget_detail_bloc.dart b/lib/widget_system/blocs/widget_detail_bloc/widget_detail_bloc.dart index 93b48db..2052143 100644 --- a/lib/widget_system/blocs/widget_detail_bloc/widget_detail_bloc.dart +++ b/lib/widget_system/blocs/widget_detail_bloc/widget_detail_bloc.dart @@ -1,5 +1,3 @@ -import 'dart:async'; - import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/widget_system/repositories/model/node_model.dart'; import 'package:flutter_unit/widget_system/repositories/model/widget_model.dart'; diff --git a/lib/widget_system/blocs/widgets_bloc/widgets_bloc.dart b/lib/widget_system/blocs/widgets_bloc/widgets_bloc.dart index d6263e7..c873595 100644 --- a/lib/widget_system/blocs/widgets_bloc/widgets_bloc.dart +++ b/lib/widget_system/blocs/widgets_bloc/widgets_bloc.dart @@ -1,7 +1,4 @@ -import 'dart:async'; - import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_unit/widget_system/repositories/model/enums.dart'; import 'package:flutter_unit/widget_system/repositories/model/widget_model.dart'; import 'package:flutter_unit/widget_system/repositories/repositories.dart'; diff --git a/lib/widget_system/blocs/widgets_bloc/widgets_state.dart b/lib/widget_system/blocs/widgets_bloc/widgets_state.dart index e2c2205..abb4818 100644 --- a/lib/widget_system/blocs/widgets_bloc/widgets_state.dart +++ b/lib/widget_system/blocs/widgets_bloc/widgets_state.dart @@ -1,7 +1,5 @@ import 'package:equatable/equatable.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_unit/widget_system/repositories/model/enums.dart'; -import 'package:flutter_unit/app/res/cons.dart'; import 'package:flutter_unit/widget_system/repositories/model/widget_model.dart'; /// create by 张风捷特烈 on 2020-03-03 diff --git a/lib/widget_system/repositories/app_start.dart b/lib/widget_system/repositories/app_start.dart index 57521ed..0100ad5 100644 --- a/lib/widget_system/repositories/app_start.dart +++ b/lib/widget_system/repositories/app_start.dart @@ -1,7 +1,5 @@ import 'dart:convert'; import 'dart:io'; -import 'dart:typed_data'; - import 'package:flutter/services.dart'; import 'package:flutter_unit/app/blocs/global/global_state.dart'; import 'package:flutter_unit/app/res/cons.dart'; diff --git a/lib/widget_system/repositories/dao/category_dao.dart b/lib/widget_system/repositories/dao/category_dao.dart index 07a997b..eecd713 100644 --- a/lib/widget_system/repositories/dao/category_dao.dart +++ b/lib/widget_system/repositories/dao/category_dao.dart @@ -1,7 +1,5 @@ import 'package:sqflite/sqflite.dart'; - -import '../app_start.dart'; import '../bean/category_po.dart'; @@ -98,7 +96,7 @@ class CategoryDao { "SELECT COUNT(name) as count FROM category " "WHERE name = ?"; List> rawData = await db.rawQuery(sql, [name]); - if (rawData.length > 0) { + if (rawData.isNotEmpty) { return rawData[0]['count'] > 0; } return false; @@ -162,7 +160,7 @@ class CategoryDao { "SELECT COUNT(id) as count FROM category_widget " "WHERE categoryId = ? AND widgetId = ?"; List> rawData = await db.rawQuery(sql, [categoryId, widgetId]); - if (rawData.length > 0) { + if (rawData.isNotEmpty) { return rawData[0]['count'] > 0; } return false; diff --git a/lib/widget_system/repositories/dao/like_dao.dart b/lib/widget_system/repositories/dao/like_dao.dart index 01719ad..aa072fc 100644 --- a/lib/widget_system/repositories/dao/like_dao.dart +++ b/lib/widget_system/repositories/dao/like_dao.dart @@ -55,7 +55,7 @@ class LikeDao { "Select count(id) as `count` FROM like_widget " "WHERE widget_id = ?", [widgetId]); - if (data.length > 0) { + if (data.isNotEmpty) { var result = data[0]; return result['count'] as int > 0; } diff --git a/lib/widget_system/repositories/dao/widget_dao.dart b/lib/widget_system/repositories/dao/widget_dao.dart index d7a64da..f14b65e 100644 --- a/lib/widget_system/repositories/dao/widget_dao.dart +++ b/lib/widget_system/repositories/dao/widget_dao.dart @@ -1,8 +1,6 @@ import 'package:flutter_unit/widget_system/repositories/model/enums.dart'; import 'package:sqflite/sqflite.dart'; - -import '../app_start.dart'; import '../bean/widget_po.dart'; @@ -42,7 +40,7 @@ class WidgetDao { } Future>> queryByIds(List ids) async { - if (ids.length == 0) { + if (ids.isEmpty) { return []; } String sql = "SELECT * " diff --git a/lib/widget_system/repositories/local_storage.dart b/lib/widget_system/repositories/local_storage.dart index a06e15d..4da99ba 100644 --- a/lib/widget_system/repositories/local_storage.dart +++ b/lib/widget_system/repositories/local_storage.dart @@ -14,9 +14,7 @@ class LocalStorage { // 如果_sp已存在,直接返回,为null时创建 static Future get sp async { - if (_sp == null) { - _sp = await SharedPreferences.getInstance(); - } + _sp ??= await SharedPreferences.getInstance(); return _sp!; } diff --git a/lib/widget_system/repositories/rep/impl/catagory_db_repository.dart b/lib/widget_system/repositories/rep/impl/catagory_db_repository.dart index 356953f..e731a4d 100644 --- a/lib/widget_system/repositories/rep/impl/catagory_db_repository.dart +++ b/lib/widget_system/repositories/rep/impl/catagory_db_repository.dart @@ -76,7 +76,7 @@ class CategoryDbRepository implements CategoryRepository { Completer> completer = Completer(); List collects = []; - if (data.length == 0) { + if (data.isEmpty) { completer.complete([]); } diff --git a/lib/widget_system/repositories/rep/impl/widget_db_repository.dart b/lib/widget_system/repositories/rep/impl/widget_db_repository.dart index 9da8c11..be75d49 100644 --- a/lib/widget_system/repositories/rep/impl/widget_db_repository.dart +++ b/lib/widget_system/repositories/rep/impl/widget_db_repository.dart @@ -54,7 +54,7 @@ class WidgetDbRepository implements WidgetRepository { Future> loadWidget(List id) async { List> data = await _widgetDao.queryByIds(id); List widgets = data.map((e) => WidgetPo.fromJson(e)).toList(); - if (widgets.length > 0) return widgets.map(WidgetModel.fromPo).toList(); + if (widgets.isNotEmpty) return widgets.map(WidgetModel.fromPo).toList(); return []; } diff --git a/lib/widget_system/views/category_view/category_page.dart b/lib/widget_system/views/category_view/category_page.dart index 8d900e4..dfdf62f 100644 --- a/lib/widget_system/views/category_view/category_page.dart +++ b/lib/widget_system/views/category_view/category_page.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/res/style/gap.dart'; @@ -49,18 +48,16 @@ class CategoryPage extends StatelessWidget { padding: const EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 0), sliver: SliverGrid( delegate: SliverChildBuilderDelegate( - (_, index) => Container( - child: GestureDetector( - onTap: () => - _toDetailPage(context, state.categories[index]), - child: CategoryListItem( - data: state.categories[index], - onDeleteItemClick: (model) => - _deleteCollect(context, model), - onEditItemClick: (model) => - _editCollect(context, model), - )), - ), + (_, index) => GestureDetector( + onTap: () => + _toDetailPage(context, state.categories[index]), + child: CategoryListItem( + data: state.categories[index], + onDeleteItemClick: (model) => + _deleteCollect(context, model), + onEditItemClick: (model) => + _editCollect(context, model), + )), childCount: state.categories.length), gridDelegate: gridDelegate), ); diff --git a/lib/widget_system/views/category_view/collect_page.dart b/lib/widget_system/views/category_view/collect_page.dart index 84d74b5..7188e8a 100644 --- a/lib/widget_system/views/category_view/collect_page.dart +++ b/lib/widget_system/views/category_view/collect_page.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/blocs/color_change_bloc.dart'; diff --git a/lib/widget_system/views/category_view/like_widget_page.dart b/lib/widget_system/views/category_view/like_widget_page.dart index 5e2a208..82a1da3 100644 --- a/lib/widget_system/views/category_view/like_widget_page.dart +++ b/lib/widget_system/views/category_view/like_widget_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/router/router_utils.dart'; -import 'package:flutter_unit/app/router/unit_router.dart'; import 'package:flutter_unit/components/project/no_more_widget.dart'; import 'package:flutter_unit/widget_system/repositories/model/widget_model.dart'; @@ -34,7 +33,7 @@ class LikeWidgetPage extends StatelessWidget { handle: NestedScrollView.sliverOverlapAbsorberHandleFor(ctx), ), _buildContent(context, state), - SliverToBoxAdapter( + const SliverToBoxAdapter( child: NoMoreWidget(), ) ], @@ -44,19 +43,17 @@ class LikeWidgetPage extends StatelessWidget { Widget _buildContent(BuildContext context, LikeWidgetState state) { return SliverPadding( - padding: EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 0), + padding: const EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 0), sliver: SliverGrid( delegate: SliverChildBuilderDelegate( - (_, index) => Container( - child: GestureDetector( - onTap: () => - _toDetailPage(context, state.widgets[index]), - child: CollectWidgetListItem( - data: state.widgets[index], - onDeleteItemClick: (model) => - _deleteCollect(context, model), - )), - ), + (_, index) => GestureDetector( + onTap: () => + _toDetailPage(context, state.widgets[index]), + child: CollectWidgetListItem( + data: state.widgets[index], + onDeleteItemClick: (model) => + _deleteCollect(context, model), + )), childCount: state.widgets.length), gridDelegate: gridDelegate), ); diff --git a/lib/widget_system/views/search_view/app_search_bar.dart b/lib/widget_system/views/search_view/app_search_bar.dart index 93120a2..5743a15 100644 --- a/lib/widget_system/views/search_view/app_search_bar.dart +++ b/lib/widget_system/views/search_view/app_search_bar.dart @@ -14,7 +14,7 @@ class AppSearchBar extends StatefulWidget { } class _AppSearchBarState extends State { - TextEditingController _controller=TextEditingController();//文本控制器 + final TextEditingController _controller=TextEditingController();//文本控制器 @override Widget build(BuildContext context) => Container( diff --git a/lib/widget_system/views/widget_detail_view/category_end_drawer.dart b/lib/widget_system/views/widget_detail_view/category_end_drawer.dart index 61bedb6..4de2e08 100644 --- a/lib/widget_system/views/widget_detail_view/category_end_drawer.dart +++ b/lib/widget_system/views/widget_detail_view/category_end_drawer.dart @@ -23,34 +23,33 @@ class CategoryEndDrawer extends StatelessWidget { @override Widget build(BuildContext context) { return Drawer( - child: Container( - child: ListView(padding: EdgeInsets.zero, children: [ + child: ListView(padding: EdgeInsets.zero, children: [ UnitDrawerHeader(color: Theme.of(context).primaryColor), Padding( - padding: const EdgeInsets.all(10.0), - child: Row( - children: [ - Circle( - color: widget.color, - ), - const SizedBox( - width: 10, - ), - Text(widget.name) - ], + padding: const EdgeInsets.all(10.0), + child: Row( + children: [ + Circle( + color: widget.color, ), + const SizedBox( + width: 10, + ), + Text(widget.name) + ], + ), ), Padding( - padding: const EdgeInsets.symmetric(horizontal: 15.0), - child: Panel( - child: Text(widget.info, style: TStyleUnit.shadowTextStyle), - ), + padding: const EdgeInsets.symmetric(horizontal: 15.0), + child: Panel( + child: Text(widget.info, style: TStyleUnit.shadowTextStyle), + ), ), Divider(), _buildTitle(context), Divider(), CategoryInfo(widget.id) - ])), + ]), ); } diff --git a/lib/widget_system/views/widget_detail_view/widget_detail_page.dart b/lib/widget_system/views/widget_detail_view/widget_detail_page.dart index 4c4a820..2ec403b 100644 --- a/lib/widget_system/views/widget_detail_view/widget_detail_page.dart +++ b/lib/widget_system/views/widget_detail_view/widget_detail_page.dart @@ -26,7 +26,7 @@ class WidgetDetailPage extends StatefulWidget { } class _WidgetDetailPageState extends State { - List _modelStack = []; + final List _modelStack = []; @override void initState() { @@ -141,7 +141,7 @@ class _WidgetDetailPageState extends State { Future _whenPop(BuildContext context) async { if (Scaffold.of(context).isEndDrawerOpen) return true; _modelStack.removeLast(); - if (_modelStack.length > 0) { + if (_modelStack.isNotEmpty) { setState(() { BlocProvider.of(context).add(FetchWidgetDetail(_modelStack.last)); }); @@ -211,7 +211,7 @@ class _WidgetDetailPageState extends State { labelStyle: TextStyle(fontSize: 12, color: Colors.white, decoration: (e.deprecated)?TextDecoration.lineThrough:TextDecoration.none, decorationThickness: 2,), - label: Text('${e.name}'), + label: Text(e.name), )) .toList(), ), @@ -223,23 +223,22 @@ class _WidgetDetailPageState extends State { class WidgetDetailTitle extends StatelessWidget { final WidgetModel model; - WidgetDetailTitle({required this.model}); + const WidgetDetailTitle({Key? key, required this.model}) : super(key: key); @override Widget build(BuildContext context) { - return Container( - child: Column( + return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Row( - children: [ - _buildLeft(model), - _buildRight(model), - ], - ), - const Divider(), + Row( + children: [ + _buildLeft(model), + _buildRight(model), ], - )); + ), + const Divider(), + ], + ); } Widget _buildLeft(WidgetModel model) => Expanded( diff --git a/lib/widget_system/views/widget_home_view/home_page.dart b/lib/widget_system/views/widget_home_view/home_page.dart index 6179826..0d1b2d1 100644 --- a/lib/widget_system/views/widget_home_view/home_page.dart +++ b/lib/widget_system/views/widget_home_view/home_page.dart @@ -1,6 +1,5 @@ import 'dart:math'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/blocs/color_change_bloc.dart'; diff --git a/lib/widget_system/widgets/MultiChildRenderObjectWidget/Flow/node2_anim.dart b/lib/widget_system/widgets/MultiChildRenderObjectWidget/Flow/node2_anim.dart index df7e164..f0d2b93 100644 --- a/lib/widget_system/widgets/MultiChildRenderObjectWidget/Flow/node2_anim.dart +++ b/lib/widget_system/widgets/MultiChildRenderObjectWidget/Flow/node2_anim.dart @@ -1,4 +1,3 @@ -import 'dart:developer'; import 'dart:math'; import 'package:flutter/material.dart'; diff --git a/lib/widget_system/widgets/MultiChildRenderObjectWidget/ListBody/node1_base.dart b/lib/widget_system/widgets/MultiChildRenderObjectWidget/ListBody/node1_base.dart index 65086b2..4cc0fa7 100644 --- a/lib/widget_system/widgets/MultiChildRenderObjectWidget/ListBody/node1_base.dart +++ b/lib/widget_system/widgets/MultiChildRenderObjectWidget/ListBody/node1_base.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; /// create by 张风捷特烈 on 2020/8/2 /// contact me by email 1981462002@qq.com diff --git a/lib/widget_system/widgets/ProxyWidget/ButtonBarTheme/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/ButtonBarTheme/node1_base.dart index 73d03cd..014c72b 100644 --- a/lib/widget_system/widgets/ProxyWidget/ButtonBarTheme/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/ButtonBarTheme/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/ProxyWidget/ButtonTheme/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/ButtonTheme/node1_base.dart index 5fdda2f..4f2166a 100644 --- a/lib/widget_system/widgets/ProxyWidget/ButtonTheme/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/ButtonTheme/node1_base.dart @@ -22,7 +22,7 @@ class ButtonThemeDemo extends StatelessWidget { splashColor: Colors.blue, minWidth: 40, shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), child: Wrap( spacing: 10, diff --git a/lib/widget_system/widgets/ProxyWidget/ChipTheme/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/ChipTheme/node1_base.dart index 33e5081..f2fe891 100644 --- a/lib/widget_system/widgets/ProxyWidget/ChipTheme/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/ChipTheme/node1_base.dart @@ -37,7 +37,7 @@ class _CustomFilterChipState extends State { 'C': 'Cat', 'D': 'Dog', }; - List _selected = []; + final List _selected = []; @override Widget build(BuildContext context) { diff --git a/lib/widget_system/widgets/ProxyWidget/Directionality/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/Directionality/node1_base.dart index cca2a0c..985112d 100644 --- a/lib/widget_system/widgets/ProxyWidget/Directionality/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/Directionality/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-23 diff --git a/lib/widget_system/widgets/ProxyWidget/DividerTheme/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/DividerTheme/node1_base.dart index 3af636e..915ead8 100644 --- a/lib/widget_system/widgets/ProxyWidget/DividerTheme/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/DividerTheme/node1_base.dart @@ -15,30 +15,31 @@ import 'package:flutter/material.dart'; class DividerThemeDemo extends StatelessWidget { + const DividerThemeDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return DividerTheme( - data: DividerThemeData( + data: const DividerThemeData( color: Colors.orange, thickness: 2, space: 10, indent: 10, endIndent: 10, - ), child: Wrap( spacing: 10, - children: [ - Divider(), - Divider(), - Divider(), - Divider(), - Divider(), - Container( + children: [ + const Divider(), + const Divider(), + const Divider(), + const Divider(), + const Divider(), + SizedBox( height: 100, child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ + children: const [ VerticalDivider(), VerticalDivider(), VerticalDivider(), diff --git a/lib/widget_system/widgets/ProxyWidget/Expanded/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/Expanded/node1_base.dart index 9896200..fe225c6 100644 --- a/lib/widget_system/widgets/ProxyWidget/Expanded/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/Expanded/node1_base.dart @@ -21,18 +21,16 @@ class CustomExpended extends StatefulWidget { class _CustomExpendedState extends State { @override Widget build(BuildContext context) { - return Container( - child: Column( - children: [ - buildRow([0, 0, 0]), - SizedBox(height: 10,), - buildRow([0, 0, 1]), - SizedBox(height: 10,), - buildRow([1, 1, 1]), - SizedBox(height: 10,), - buildRow([2, 3, 3]), - ], - ), + return Column( + children: [ + buildRow([0, 0, 0]), + const SizedBox(height: 10,), + buildRow([0, 0, 1]), + const SizedBox(height: 10,), + buildRow([1, 1, 1]), + const SizedBox(height: 10,), + buildRow([2, 3, 3]), + ], ); } @@ -47,7 +45,7 @@ class _CustomExpendedState extends State { color: ColorUtils.randomColor(), child: Text( 'flex=$e', - style: TextStyle(color: Colors.white), + style: const TextStyle(color: Colors.white), ), ), )).toList()); diff --git a/lib/widget_system/widgets/ProxyWidget/SliderTheme/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/SliderTheme/node1_base.dart index b9108c9..5451f08 100644 --- a/lib/widget_system/widgets/ProxyWidget/SliderTheme/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/SliderTheme/node1_base.dart @@ -29,7 +29,7 @@ class _SliderThemeDemoState extends State { min: 0.0, max: 200.0, divisions: 10, - label: "${_bliss.toStringAsFixed(1)}", + label: _bliss.toStringAsFixed(1), onChanged: (double value) { setState(() { _bliss = value; diff --git a/lib/widget_system/widgets/ProxyWidget/SliderTheme/node2_diy.dart b/lib/widget_system/widgets/ProxyWidget/SliderTheme/node2_diy.dart index f242b6d..71af422 100644 --- a/lib/widget_system/widgets/ProxyWidget/SliderTheme/node2_diy.dart +++ b/lib/widget_system/widgets/ProxyWidget/SliderTheme/node2_diy.dart @@ -45,7 +45,7 @@ class _DIYSliderThemeState extends State { min: 0.0, max: 200.0, divisions: 10, - label: "${_bliss.toStringAsFixed(1)}", + label: _bliss.toStringAsFixed(1), onChanged: (double value) { setState(() { _bliss = value; diff --git a/lib/widget_system/widgets/ProxyWidget/TableCell/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/TableCell/node1_base.dart index fb313d1..3747d32 100644 --- a/lib/widget_system/widgets/ProxyWidget/TableCell/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/TableCell/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/ProxyWidget/TooltipTheme/node1_base.dart b/lib/widget_system/widgets/ProxyWidget/TooltipTheme/node1_base.dart index d9dff80..a4a7136 100644 --- a/lib/widget_system/widgets/ProxyWidget/TooltipTheme/node1_base.dart +++ b/lib/widget_system/widgets/ProxyWidget/TooltipTheme/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart index ec83929..6153ff5 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // } class CustomAbsorbPointer extends StatefulWidget { + const CustomAbsorbPointer({Key? key}) : super(key: key); + @override _CustomAbsorbPointerState createState() => _CustomAbsorbPointerState(); } @@ -24,35 +26,33 @@ class _CustomAbsorbPointerState extends State { @override Widget build(BuildContext context) { - return Container( - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - GestureDetector( - onTap: (){ - print('AbsorbPointer'); - }, - child: AbsorbPointer( - absorbing: _absorbing, - child: _buildButton(), - ), + return Wrap( + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + GestureDetector( + onTap: (){ + print('AbsorbPointer'); + }, + child: AbsorbPointer( + absorbing: _absorbing, + child: _buildButton(), ), - _buildSwitch(), - Text(!_absorbing ? '允许点击' : '事件已被吸收') - ], - ), + ), + _buildSwitch(), + Text(!_absorbing ? '允许点击' : '事件已被吸收') + ], ); } Widget _buildButton() => RaisedButton( color: Theme.of(context).primaryColor, - child: Text( + child: const Text( 'To About', style: TextStyle(color: Colors.white), ), onPressed: () => Navigator.of(context).pushNamed('AboutMePage')); - _buildSwitch() => Switch( + Widget _buildSwitch() => Switch( value: _absorbing, onChanged: (v) { setState(() { diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node1_base.dart index d396cd4..a7f2e43 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node1_base.dart @@ -12,7 +12,9 @@ import 'package:flutter/material.dart'; // "【alignment】 : 对齐方式 【AlignmentGeometry】", // } class CustomAlign extends StatelessWidget { - final alignments = [ + const CustomAlign({Key? key}) : super(key: key); + + final List alignments = const [ Alignment.topLeft, Alignment.topCenter, Alignment.topRight, @@ -24,7 +26,7 @@ class CustomAlign extends StatelessWidget { Alignment.bottomRight, ]; - final alignmentsInfo = [ + final List alignmentsInfo = const [ "topLeft", "topCenter", "topRight", @@ -43,7 +45,7 @@ class CustomAlign extends StatelessWidget { .toList() .map((mode) => Column(children: [ Container( - margin: EdgeInsets.all(5), + margin: const EdgeInsets.all(5), width: 100, height: 60, color: Colors.grey.withAlpha(88), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node2_other.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node2_other.dart index 331aaa1..c8751ee 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node2_other.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Align/node2_other.dart @@ -13,7 +13,7 @@ import 'package:flutter/material.dart'; // "可以使用Align实现一些复杂的排布需求,比如按指定的数学方程变化位置", // } class Ball extends StatelessWidget { - Ball({ + const Ball({ Key? key, this.radius = 15, this.color = Colors.blue, @@ -35,7 +35,7 @@ class Ball extends StatelessWidget { } class SinLayout extends StatefulWidget { - SinLayout({ + const SinLayout({ Key? key, }) : super(key: key); @@ -44,7 +44,7 @@ class SinLayout extends StatefulWidget { } class _SinLayoutState extends State { - var _x = 0.0; //Alignment坐标系上的x坐标 + double _x = 0.0; //Alignment坐标系上的x坐标 @override Widget build(BuildContext context) { @@ -53,7 +53,7 @@ class _SinLayoutState extends State { height: 120, color: Colors.black.withAlpha(10), child: Align( - child: Ball( + child: const Ball( color: Colors.orangeAccent, ), alignment: Alignment(_x, f(_x * pi)), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart index b01f430..2e86f94 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart @@ -17,6 +17,8 @@ import 'package:flutter/material.dart'; // } class CustomAnimatedSize extends StatefulWidget { + const CustomAnimatedSize({Key? key}) : super(key: key); + @override _CustomAnimatedSizeState createState() => _CustomAnimatedSizeState(); } @@ -46,15 +48,15 @@ class _CustomAnimatedSizeState extends State alignment: Alignment.center, child: AnimatedSize( vsync: this, - duration: Duration(seconds: 1), + duration: const Duration(seconds: 1), curve: Curves.fastOutSlowIn, - alignment: Alignment(0, 0), + alignment: const Alignment(0, 0), child: Container( height: 40, width: _width, alignment: Alignment.center, color: Colors.blue, - child: Text( + child: const Text( '张风捷特烈', style: TextStyle(color: Colors.white), ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart index 2220857..6352d61 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart @@ -1,5 +1,3 @@ - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -18,17 +16,19 @@ import 'package:flutter/services.dart'; class AnnotatedRegionDemo extends StatelessWidget { + const AnnotatedRegionDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Container( - padding: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), child: ElevatedButton( onPressed: (){ Navigator.push(context, MaterialPageRoute(builder: (context) => AnnotatedRegionTestPage()), ); }, - child: Text("进入 AnnotatedRegion 测试页"), + child: const Text("进入 AnnotatedRegion 测试页"), ), ); } @@ -36,9 +36,11 @@ class AnnotatedRegionDemo extends StatelessWidget { class AnnotatedRegionTestPage extends StatelessWidget{ + const AnnotatedRegionTestPage({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - final SystemUiOverlayStyle overlayStyle = SystemUiOverlayStyle( + const SystemUiOverlayStyle overlayStyle = SystemUiOverlayStyle( systemNavigationBarColor: Colors.green, // 导航栏颜色 systemNavigationBarDividerColor: Colors.red, @@ -51,33 +53,31 @@ class AnnotatedRegionTestPage extends StatelessWidget{ return AnnotatedRegion( value: overlayStyle, child: Scaffold( - body: Container( - child: Column( - children: [ - Container(height: 56+30.0,color: Colors.blue, - alignment: Alignment(0,0.55), - child: Row( - children: [ - BackButton(color: Colors.white,), - Text("AnnotatedRegion测试",style: TextStyle(color: Colors.white,fontSize: 18),) - ], - ), - ), - SizedBox(height: 30,), - Text( - "上面标题栏背景颜色为蓝色\n" - "上面标题栏图标为亮调", + body: Column( + children: [ + Container(height: 56+30.0,color: Colors.blue, + alignment: const Alignment(0,0.55), + child: Row( + children: const [ + BackButton(color: Colors.white,), + Text("AnnotatedRegion测试",style: TextStyle(color: Colors.white,fontSize: 18),) + ], + ), + ), + const SizedBox(height: 30,), + const Text( + "上面标题栏背景颜色为蓝色\n" + "上面标题栏图标为亮调", - style: TextStyle(color: Colors.black,fontSize: 18),), - Spacer(), - Text( - "下面导航栏背景颜色为绿色\n" - "下面导航栏图标为亮调", + style: TextStyle(color: Colors.black,fontSize: 18),), + const Spacer(), + const Text( + "下面导航栏背景颜色为绿色\n" + "下面导航栏图标为亮调", - style: TextStyle(color: Colors.black,fontSize: 18),), - SizedBox(height: 30,), - ], - ), + style: TextStyle(color: Colors.black,fontSize: 18),), + const SizedBox(height: 30,), + ], ), ), ); diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart index 137128c..ccc2765 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart @@ -11,28 +11,30 @@ import 'package:flutter/material.dart'; // "【aspectRatio】 : 宽高比例 【double】", // } class CustomAspectRatio extends StatefulWidget { + const CustomAspectRatio({Key? key}) : super(key: key); + @override _CustomAspectRatioState createState() => _CustomAspectRatioState(); } class _CustomAspectRatioState extends State { - var _ratio = 0.75; + double _ratio = 0.75; @override Widget build(BuildContext context) { - var child = Container( + Widget child = Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 50, height: 50, - child: Text("Static"), + child: const Text("Static"), ); - var box = AspectRatio( + Widget box = AspectRatio( aspectRatio: _ratio, child: Container( color: Colors.orange, - child: Icon( + child: const Icon( Icons.android, color: Colors.white, )), @@ -54,10 +56,11 @@ class _CustomAspectRatioState extends State { } Widget _buildSlider() => Slider( - divisions: 20, - min: 0.1, - max: 2.0, - label: _ratio.toStringAsFixed(2), - value: _ratio, - onChanged: (v) => setState(() => _ratio = v)); + divisions: 20, + min: 0.1, + max: 2.0, + label: _ratio.toStringAsFixed(2), + value: _ratio, + onChanged: (v) => setState(() => _ratio = v), + ); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart index 98b7cce..33c77dc 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart @@ -18,6 +18,8 @@ import 'package:flutter/material.dart'; // } class CustomBackdropFilter extends StatefulWidget { + const CustomBackdropFilter({Key? key}) : super(key: key); + @override _CustomBackdropFilterState createState() => _CustomBackdropFilterState(); } @@ -54,7 +56,7 @@ class _CustomBackdropFilterState extends State { return Wrap( spacing: 20, children: [ - Container( + SizedBox( height: 150, width: 150, child: Image.asset( @@ -62,7 +64,7 @@ class _CustomBackdropFilterState extends State { fit: BoxFit.cover, ), ), - Container( + SizedBox( height: 150, width: 150, child: Image.asset( diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Baseline/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Baseline/node1_base.dart index a720790..202321f 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Baseline/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Baseline/node1_base.dart @@ -13,6 +13,8 @@ import 'package:flutter/material.dart'; // "【baselineType】 : 基线类型 【TextBaseline】", // } class CustomBaseline extends StatefulWidget { + const CustomBaseline({Key? key}) : super(key: key); + @override _CustomBaselineState createState() => _CustomBaselineState(); } @@ -22,18 +24,16 @@ class _CustomBaselineState extends State { @override Widget build(BuildContext context) { - - var childBox = Text( + Widget childBox = const Text( '你好,Flutter', - style: TextStyle(fontSize: 20,fontFamily: "Menlo"), + style: TextStyle(fontSize: 20, fontFamily: "Menlo"), ); - var baseline = Baseline( + Widget baseline = Baseline( child: childBox, baseline: _baseline, - baselineType: TextBaseline.alphabetic - ); + baselineType: TextBaseline.alphabetic); return Column( children: [ @@ -49,10 +49,11 @@ class _CustomBaselineState extends State { } Widget _buildSlider() => Slider( - divisions: 20, - min: 0, - max: 60, - label: _baseline.toString(), - value: _baseline, - onChanged: (v) => setState(() => _baseline = v)); + divisions: 20, + min: 0, + max: 60, + label: _baseline.toString(), + value: _baseline, + onChanged: (v) => setState(() => _baseline = v), + ); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Center/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Center/node1_base.dart index a81c643..ff9fbfa 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Center/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Center/node1_base.dart @@ -12,10 +12,12 @@ import 'package:flutter/material.dart'; // "【child】 : 孩子组件 【Widget】", // } class CustomCenter extends StatelessWidget { + const CustomCenter({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Container( - margin: EdgeInsets.all(5), + margin: const EdgeInsets.all(5), width: 200, height: 100, color: Colors.grey.withAlpha(88), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipOval/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipOval/node1_base.dart index 64e5a95..a48c270 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipOval/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipOval/node1_base.dart @@ -14,13 +14,14 @@ import 'package:flutter/material.dart'; // "【clipper】 : 裁剪器 【CustomClipper】", // } class CustomClipOval extends StatelessWidget { + const CustomClipOval({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Wrap( spacing: 20, children: [ ClipOval( - child: Image.asset( "assets/images/wy_300x200.webp", width: 150, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipPath/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipPath/node1_base.dart index e000625..bb0a50f 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipPath/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipPath/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // "【clipper】 : 裁剪器 【CustomClipper】", // } class CustomClipPath extends StatelessWidget { + const CustomClipPath({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return ClipPath( diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart index d84b81b..7a5ef52 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart @@ -14,10 +14,12 @@ import 'package:flutter/material.dart'; // "【clipper】 : 裁剪器 【CustomClipper】", // } class CustomClipRRect extends StatelessWidget { + const CustomClipRRect({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return ClipRRect( - borderRadius: BorderRadius.all(Radius.elliptical(35, 30)), + borderRadius: const BorderRadius.all(Radius.elliptical(35, 30)), child: Image.asset( "assets/images/wy_300x200.webp", width: 150, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRect/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRect/node1_base.dart index 20ca84e..5bac50f 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRect/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ClipRect/node1_base.dart @@ -13,6 +13,8 @@ import 'package:flutter/material.dart'; // "【clipper】 : 裁剪器 【CustomClipper】", // } class CustomClipRect extends StatelessWidget { + const CustomClipRect({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return ClipRect( @@ -21,7 +23,8 @@ class CustomClipRect extends StatelessWidget { width: 100, child: Image.asset( "assets/images/wy_300x200.webp", - fit: BoxFit.cover,), + fit: BoxFit.cover, + ), ), ); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart index 496ba3e..18fd9c1 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; + import '../../../../app/utils/color_utils.dart'; /// create by 张风捷特烈 on 2020-04-19 /// contact me by email 1981462002@qq.com @@ -13,6 +14,8 @@ import '../../../../app/utils/color_utils.dart'; // "【colorFilter】 : 滤色器 【ColorFilter】", // } class CustomColorFiltered extends StatefulWidget { + const CustomColorFiltered({Key? key}) : super(key: key); + @override _CustomColorFilteredState createState() => _CustomColorFilteredState(); } @@ -31,12 +34,10 @@ class _CustomColorFilteredState extends State { .map((mode) => Column( children: [ _buildChild(mode), - SizedBox( - height: 10, - ), + const SizedBox(height: 10), Text( mode.toString().split('.')[1], - style: TextStyle(fontSize: 10), + style: const TextStyle(fontSize: 10), ) ], )) @@ -50,7 +51,8 @@ class _CustomColorFilteredState extends State { width: 58, height: 58, child: ColorFiltered( - child: Image(image: AssetImage("assets/images/icon_head.webp")), + child: + const Image(image: AssetImage("assets/images/icon_head.webp")), colorFilter: ColorFilter.mode(_color, m)), ); @@ -61,7 +63,7 @@ class _CustomColorFilteredState extends State { width: 60, height: 60, decoration: BoxDecoration(color: _color, shape: BoxShape.circle), - child: Text('点我'), + child: const Text('点我'), ), ); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart index 527af6f..a31f7c1 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -14,22 +13,23 @@ import 'package:flutter/material.dart'; // } class ColoredBoxDemo extends StatelessWidget { + const ColoredBoxDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return ColoredBox( color: Colors.red, child: Container( - margin: EdgeInsets.all(20), - padding: EdgeInsets.all(20), - decoration: BoxDecoration( + margin: const EdgeInsets.all(20), + padding: const EdgeInsets.all(20), + decoration: const BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(10)), color: Colors.blue ), alignment: Alignment.center, width: 250, height: 100, - // color: Theme.of(context).primaryColor, - child: Text( + child: const Text( "蓝色是加了 margin 和圆角的 Container,外层包裹红色的 ColoredBox,注意作用范围。", style: TextStyle(color: Colors.white), ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart index 10fa16a..81da161 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart @@ -22,9 +22,10 @@ import 'package:flutter/material.dart'; class CompositedTransformFollowerDemo extends StatelessWidget { - const CompositedTransformFollowerDemo(); + const CompositedTransformFollowerDemo({Key? key}) : super(key: key); + + static const List colors =[Colors.red,Colors.yellow,Colors.blue,Colors.green]; - static const List colors =[Colors.red,Colors.yellow,Colors.blue,Colors.green]; @override Widget build(BuildContext context) { @@ -65,13 +66,13 @@ class _LogoTipsState extends State<_LogoTips> { builder: (context) => Positioned( width: 150, child: CompositedTransformFollower( - link: this._layerLink, + link: _layerLink, showWhenUnlinked: false, - offset: Offset(0,-10), + offset: const Offset(0,-10), targetAnchor: Alignment.topRight, - child: Card( + child: const Card( child: Padding( - padding: const EdgeInsets.all(8.0), + padding: EdgeInsets.all(8.0), child: Text('我是一个 Overlay,目标组件为图标,当它变换时,我会伴随变换。'), ), ), @@ -84,9 +85,9 @@ class _LogoTipsState extends State<_LogoTips> { return GestureDetector( onTap: _toggleOverlay, child: CompositedTransformTarget( - link: this._layerLink, + link: _layerLink, child: - FlutterLogo( + const FlutterLogo( size: 80, ), )); diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart index cfba266..78c3116 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart @@ -17,8 +17,7 @@ import 'package:flutter/material.dart'; class CompositedTransformTargetDemo extends StatelessWidget { - - const CompositedTransformTargetDemo(); + const CompositedTransformTargetDemo({Key? key}) : super(key: key); static const List colors =[Colors.red,Colors.yellow,Colors.blue,Colors.green]; @@ -29,15 +28,15 @@ class CompositedTransformTargetDemo extends StatelessWidget { height: 250, padding: const EdgeInsets.all(50.0), child: ListView( - scrollDirection: Axis.horizontal, - children: [ - Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [_LogoTips(), const Text('点击图标\n显隐弹框')], - ), - ...colors.map((color) => Container(width: 80, color: color)) - ], - ), + scrollDirection: Axis.horizontal, + children: [ + Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [_LogoTips(), const Text('点击图标\n显隐弹框')], + ), + ...colors.map((color) => Container(width: 80, color: color)) + ], + ), ); } @@ -60,12 +59,12 @@ class _LogoTipsState extends State<_LogoTips> { builder: (context) => Positioned( width: 150, child: CompositedTransformFollower( - link: this._layerLink, + link: _layerLink, showWhenUnlinked: false, targetAnchor: Alignment.topRight, - child: Card( + child: const Card( child: Padding( - padding: const EdgeInsets.all(8.0), + padding: EdgeInsets.all(8.0), child: Text('我是一个 Overlay,目标组件为图标,当它变换时,我会伴随变换。'), ), ), @@ -78,9 +77,9 @@ class _LogoTipsState extends State<_LogoTips> { return GestureDetector( onTap: _toggleOverlay, child: CompositedTransformTarget( - link: this._layerLink, + link: _layerLink, child: - FlutterLogo( + const FlutterLogo( size: 80, ), )); diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart index 65171c1..2995408 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart @@ -15,25 +15,27 @@ import 'package:flutter/material.dart'; // "【maxWidth】 : 最大宽 【double】", // } class CustomConstrainedBox extends StatefulWidget { + const CustomConstrainedBox({Key? key}) : super(key: key); + @override _CustomConstrainedBoxState createState() => _CustomConstrainedBoxState(); } class _CustomConstrainedBoxState extends State { - var _text = ''; + String _text = ''; @override Widget build(BuildContext context) { - var child = Container( + Widget child = Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 40, height: 40, - child: Text("Static"), + child: const Text("Static"), ); - var box = ConstrainedBox( - constraints: BoxConstraints( + Widget box = ConstrainedBox( + constraints: const BoxConstraints( minHeight: 50, minWidth: 20, maxHeight: 80, @@ -60,8 +62,8 @@ class _CustomConstrainedBoxState extends State { return Padding( padding: const EdgeInsets.all(18.0), child: TextField( - decoration: InputDecoration( - border: OutlineInputBorder(), + decoration: const InputDecoration( + border: const OutlineInputBorder(), hintText: '请输入', ), onChanged: (v) { diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart index 4896231..d2c648f 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -13,14 +12,15 @@ import 'package:flutter/material.dart'; // } class CupertinoTextSelectionToolbarDemo extends StatelessWidget { + const CupertinoTextSelectionToolbarDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Container( alignment: Alignment.center, - padding: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), width: 300, - // color: Theme.of(context).primaryColor, - child: Text( + child: const Text( "注:此组件私有构造器,外部无法使用,并没有使用价值。", style: TextStyle(color: Colors.red, fontSize: 18), ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart index 50a498b..597ecda 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart @@ -10,9 +10,11 @@ import 'package:flutter/material.dart'; // "【painter】 : 绘画器 【CustomPainter】", // } class ClockPage extends StatelessWidget { + const ClockPage({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return Container( + return SizedBox( width: MediaQuery.of(context).size.width, height: 100, child:RepaintBoundary( @@ -27,8 +29,8 @@ class ClockPage extends StatelessWidget { class ClockPainter extends CustomPainter { late Paint _paint; - double _radius = 3.0; //小球半径 - Path _path = Path(); //画笔对象 + final double _radius = 3.0; //小球半径 + final Path _path = Path(); //画笔对象 ClockPainter () { _paint = Paint()..color= Color(0xff45d0fd)..isAntiAlias=true; _path.addOval(Rect.fromCircle(radius: _radius, center: Offset(0, 0))); //小球路径 diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart index b024b86..5a97917 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // " Flutter也支持贝塞尔曲线等复杂绘制。", // } class PlayBezier3Page extends StatefulWidget { + const PlayBezier3Page({Key? key}) : super(key: key); + @override _PlayBezier3PageState createState() => _PlayBezier3PageState(); } @@ -30,24 +32,23 @@ class _PlayBezier3PageState extends State { void _initPoints() { _pos = []; - _pos.add(Offset(0, 0)); - _pos.add(Offset(60, -60)); - _pos.add(Offset(-90, -90)); - _pos.add(Offset(-120, -40)); + _pos.add(const Offset(0, 0)); + _pos.add(const Offset(60, -60)); + _pos.add(const Offset(-90, -90)); + _pos.add(const Offset(-120, -40)); } @override Widget build(BuildContext context) { - return Container( - height: 200, - width: MediaQuery.of(context).size.width, - child: RepaintBoundary( - child: CustomPaint( - painter: BezierPainter(pos: _pos, selectPos: selectPos), - ), + return SizedBox( + height: 200, + width: MediaQuery.of(context).size.width, + child: RepaintBoundary( + child: CustomPaint( + painter: BezierPainter(pos: _pos, selectPos: selectPos), ), - + ), ); } } @@ -87,12 +88,12 @@ class BezierPainter extends CustomPainter { _drawGrid(canvas, size); //绘制格线 _drawAxis(canvas, size); //绘制轴线 - _mainPath.moveTo(pos[0].dx, pos[0].dy); - _mainPath.cubicTo(pos[1].dx, pos[1].dy, pos[2].dx, pos[2].dy, pos[3].dx, pos[3].dy); - canvas.drawPath(_mainPath, _mainPaint); - _drawHelp(canvas); - _drawSelectPos(canvas); - + _mainPath.moveTo(pos[0].dx, pos[0].dy); + _mainPath.cubicTo( + pos[1].dx, pos[1].dy, pos[2].dx, pos[2].dy, pos[3].dx, pos[3].dy); + canvas.drawPath(_mainPath, _mainPaint); + _drawHelp(canvas); + _drawSelectPos(canvas); } @override diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart index a3daf4a..4f612fd 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart @@ -13,6 +13,8 @@ import 'package:flutter/material.dart'; // } class CustomSingleChildLayoutDemo extends StatelessWidget { + const CustomSingleChildLayoutDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { print('-------CustomSingleChildLayoutDemo------'); diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart index b4fe6af..2cc294d 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart @@ -13,7 +13,9 @@ import 'package:flutter/material.dart'; // } class OffSetWidgetDemo extends StatelessWidget { - final List> data = [ + const OffSetWidgetDemo({Key? key}) : super(key: key); + + final List> data = const [ { 'offset': Offset(20, 20), 'direction': Direction.topLeft, @@ -54,7 +56,7 @@ class OffSetWidgetDemo extends StatelessWidget { child: OffSetWidget( offset: e['offset'], direction: e['direction'], - child: Icon( + child: const Icon( Icons.android, size: 30, color: Colors.green, @@ -69,7 +71,7 @@ class OffSetWidget extends StatelessWidget { final Widget child; final Direction direction; - OffSetWidget( + const OffSetWidget( {this.offset = Offset.zero, required this.child, this.direction = Direction.topLeft}); @@ -89,8 +91,10 @@ class _OffSetDelegate extends SingleChildLayoutDelegate { final Offset offset; final Direction direction; - _OffSetDelegate( - {this.offset = Offset.zero, this.direction = Direction.topLeft}); + _OffSetDelegate({ + this.offset = Offset.zero, + this.direction = Direction.topLeft, + }); @override bool shouldRelayout(_OffSetDelegate oldDelegate) => @@ -98,10 +102,10 @@ class _OffSetDelegate extends SingleChildLayoutDelegate { @override Offset getPositionForChild(Size size, Size childSize) { - var w = size.width; - var h = size.height; - var wc = childSize.width; - var hc = childSize.height; + double w = size.width; + double h = size.height; + double wc = childSize.width; + double hc = childSize.height; switch (direction) { case Direction.topLeft: @@ -113,6 +117,5 @@ class _OffSetDelegate extends SingleChildLayoutDelegate { case Direction.bottomRight: return offset.translate(w - wc - offset.dx * 2, h - hc - offset.dy * 2); } - return offset; } } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart index c4435a2..180c3f9 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart @@ -12,7 +12,9 @@ import 'package:flutter/material.dart'; // "【position】 : 前景色(左)/后景色(右) 【DecorationPosition】", // } class BoxDecorationDemo extends StatelessWidget { - final rainbow = const [ + const BoxDecorationDemo({Key? key}) : super(key: key); + + final List rainbow = const [ 0xffff0000, 0xffFF7F00, 0xffFFFF00, @@ -28,12 +30,14 @@ class BoxDecorationDemo extends StatelessWidget { position: DecorationPosition.background, decoration: BoxDecoration( gradient: LinearGradient( - stops: [0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0], + stops: const [0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0], colors: rainbow.map((e) => Color(e)).toList()), - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), bottomRight: Radius.circular(20)), - boxShadow: [ - const BoxShadow( + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + ), + boxShadow: const [ + BoxShadow( color: Colors.orangeAccent, offset: Offset(1, 1), blurRadius: 10, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart index bdd66b1..0170ed8 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart @@ -12,9 +12,11 @@ import 'package:flutter/material.dart'; // "【image】 : 背景图片 【DecorationImage】\n", // } class ShapeImageDemo extends StatelessWidget { + const ShapeImageDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return DecoratedBox( + return const DecoratedBox( decoration: BoxDecoration( shape: BoxShape.circle, image: DecorationImage( diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart index 8b02b5e..592f9d7 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart @@ -14,7 +14,7 @@ class BorderDemo extends StatelessWidget { Widget build(BuildContext context) { return DecoratedBox( position: DecorationPosition.foreground, - decoration: BoxDecoration( + decoration: const BoxDecoration( border: Border( bottom: BorderSide(color: Colors.orange, width: 2), top: BorderSide(color: Colors.orange, width: 2)), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart index 1a213d3..57352d0 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart @@ -12,10 +12,10 @@ import 'package:flutter/material.dart'; class ShapeDecorationDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return DecoratedBox( + return const DecoratedBox( decoration: ShapeDecoration( shadows: [ - const BoxShadow( + BoxShadow( color: Colors.orangeAccent, offset: Offset(0, 0), blurRadius: 2, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart index 0128892..c4bb35e 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart @@ -12,7 +12,7 @@ import 'package:flutter/material.dart'; class UnderlineTabIndicatorDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return DecoratedBox( + return const DecoratedBox( decoration: UnderlineTabIndicator( insets: EdgeInsets.symmetric(horizontal: 5, vertical: -5), borderSide: BorderSide(color: Colors.orange, width: 2)), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart index f0799a4..0d868fa 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart @@ -13,7 +13,7 @@ import 'package:flutter/material.dart'; class FlutterLogoDecorationDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return DecoratedBox( + return const DecoratedBox( decoration: FlutterLogoDecoration( // darkColor: Colors.orange, // lightColor: Colors.deepPurpleAccent, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart index b96452a..eacfaad 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【opacity】 : 动画 【Animation】", // } class CustomFadeTransition extends StatefulWidget { + const CustomFadeTransition({Key? key}) : super(key: key); + @override _CustomFadeTransitionState createState() => _CustomFadeTransitionState(); } @@ -22,7 +24,10 @@ class _CustomFadeTransitionState extends State @override void initState() { - _ctrl = AnimationController(vsync: this, duration: Duration(seconds: 2)); + _ctrl = AnimationController( + vsync: this, + duration: const Duration(seconds: 2), + ); _ctrl.forward(); super.initState(); } @@ -43,7 +48,7 @@ class _CustomFadeTransitionState extends State height: 100, child: FadeTransition( opacity: CurvedAnimation(parent: _ctrl, curve: Curves.linear), - child: Icon(Icons.android, color: Colors.green, size: 60), + child: const Icon(Icons.android, color: Colors.green, size: 60), ), ), ); diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FittedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FittedBox/node1_base.dart index 7cb27cb..415308c 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FittedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FittedBox/node1_base.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "【alignment】 : 对齐方式 【AlignmentGeometry】", // } class CustomFittedBox extends StatefulWidget { + const CustomFittedBox({Key? key}) : super(key: key); + @override _CustomFittedBoxState createState() => _CustomFittedBoxState(); } @@ -22,7 +24,7 @@ class _CustomFittedBoxState extends State { double _childW = 20; double _childH = 30; - final rainbow = [ + final List rainbow = const [ 0xffff0000, 0xffFF7F00, 0xffFFFF00, @@ -41,11 +43,9 @@ class _CustomFittedBoxState extends State { runSpacing: 10, children: BoxFit.values .map((mode) => Column( - children: [ + children: [ _buildChild(mode), - SizedBox( - height: 10, - ), + const SizedBox(height: 10), Text(mode.toString().split('.')[1]) ], )) @@ -68,7 +68,7 @@ class _CustomFittedBoxState extends State { decoration: BoxDecoration( //添加渐变色 gradient: LinearGradient( - stops: [0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0], + stops: const[0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0], colors: rainbow.map((e) => Color(e)).toList()), ), ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart index 9a24054..997bf1a 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 @@ -13,14 +12,16 @@ import 'package:flutter/material.dart'; // } class FractionalTranslationDemo extends StatefulWidget { + const FractionalTranslationDemo({Key? key}) : super(key: key); + @override _FractionalTranslationDemoState createState() => _FractionalTranslationDemoState(); } class _FractionalTranslationDemoState extends State { - var dx = 0.0; - var dy = 0.0; + double dx = 0.0; + double dy = 0.0; @override Widget build(BuildContext context) { @@ -35,7 +36,7 @@ class _FractionalTranslationDemoState extends State { color: Colors.grey.withAlpha(33), child: FractionalTranslation( translation: Offset(dx, dy), - child: Icon( + child: const Icon( Icons.android, color: Colors.green, ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart index 362200b..e450f33 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "【alignment】 : 对齐方式 【AlignmentGeometry】", // } class CustomFractionallySizedBox extends StatefulWidget { + const CustomFractionallySizedBox({Key? key}) : super(key: key); + @override _CustomFractionallySizedBoxState createState() => _CustomFractionallySizedBoxState(); @@ -21,12 +23,12 @@ class CustomFractionallySizedBox extends StatefulWidget { class _CustomFractionallySizedBoxState extends State { - var _hf = 0.5; - var _wf = 0.4; + double _hf = 0.5; + double _wf = 0.4; @override Widget build(BuildContext context) { - var box = FractionallySizedBox( + Widget box = FractionallySizedBox( widthFactor: _wf, heightFactor: _hf, alignment: Alignment.center, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart index f6247ff..f1a3258 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // } class CustomIgnorePointer extends StatefulWidget { + const CustomIgnorePointer({Key? key}) : super(key: key); + @override _CustomIgnorePointerState createState() => _CustomIgnorePointerState(); } @@ -24,35 +26,33 @@ class _CustomIgnorePointerState extends State { @override Widget build(BuildContext context) { - return Container( - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - GestureDetector( - onTap: (){ - print('IgnorePointer'); - }, - child: IgnorePointer( - ignoring: _ignore, - child: _buildButton(), - ), + return Wrap( + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + GestureDetector( + onTap: (){ + print('IgnorePointer'); + }, + child: IgnorePointer( + ignoring: _ignore, + child: _buildButton(), ), - _buildSwitch(), - Text(!_ignore ? '允许点击' : '点击已锁定') - ], - ), + ), + _buildSwitch(), + Text(!_ignore ? '允许点击' : '点击已锁定') + ], ); } Widget _buildButton() => RaisedButton( color: Theme.of(context).primaryColor, - child: Text( + child: const Text( 'To About', style: TextStyle(color: Colors.white), ), onPressed: () => Navigator.of(context).pushNamed('AboutMePage')); - _buildSwitch() => Switch( + Widget _buildSwitch() => Switch( value: _ignore, onChanged: (v) { setState(() { diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart index c9eaeec..d429de3 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart @@ -13,23 +13,23 @@ import 'package:flutter/material.dart'; // } class IntrinsicHeightDemo extends StatefulWidget { + const IntrinsicHeightDemo({Key? key}) : super(key: key); + @override _IntrinsicHeightDemoState createState() => _IntrinsicHeightDemoState(); } class _IntrinsicHeightDemoState extends State { - var _height =120.0; + double _height =120.0; @override Widget build(BuildContext context) { - return Container( - child: Column( - children: [ - buildChild(_height), - SizedBox(height: 10), - _buildSlider() - ], - ), + return Column( + children: [ + buildChild(_height), + const SizedBox(height: 10), + _buildSlider() + ], ); } @@ -51,13 +51,13 @@ class _IntrinsicHeightDemoState extends State { width: 150, height: 80, alignment: Alignment.center, - child: Text("固定高"), + child: const Text("固定高"), ), Container( color: Colors.red, width: 60, alignment: Alignment.center, - child: Text("最高"), + child: const Text("最高"), ) ], ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart index e3c20aa..1a3e513 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart @@ -14,23 +14,23 @@ import 'package:flutter/material.dart'; // } class IntrinsicWidthDemo extends StatefulWidget { + const IntrinsicWidthDemo({Key? key}) : super(key: key); + @override _IntrinsicWidthDemoState createState() => _IntrinsicWidthDemoState(); } class _IntrinsicWidthDemoState extends State { - var _height =120.0; + double _height =120.0; @override Widget build(BuildContext context) { - return Container( - child: Column( - children: [ - buildChild(_height), - SizedBox(height: 10), - _buildSlider() - ], - ), + return Column( + children: [ + buildChild(_height), + const SizedBox(height: 10), + _buildSlider() + ], ); } @@ -52,13 +52,13 @@ class _IntrinsicWidthDemoState extends State { width: 150, height: 60, alignment: Alignment.center, - child: Text("固定宽"), + child: const Text("固定宽"), ), Container( color: Colors.red, height: 40, alignment: Alignment.center, - child: Text("最宽"), + child: const Text("最宽"), ) ], ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart index 32bdb1f..f6dce7c 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【builder】 : 布局构造器 【LayoutWidgetBuilder】", // } class CustomLayoutBuilder extends StatelessWidget { + const CustomLayoutBuilder({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { print('CustomLayoutBuild'); @@ -25,7 +27,7 @@ class CustomLayoutBuilder extends StatelessWidget { return Text( '父容器宽:${zone.maxWidth}\n' '父容器高:${zone.maxHeight}', - style: TextStyle(color: Colors.white, fontSize: 16), + style: const TextStyle(color: Colors.white, fontSize: 16), ); }, ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart index e9d97a2..9408350 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // } class FitByLayoutBuilder extends StatefulWidget { + const FitByLayoutBuilder({Key? key}) : super(key: key); + @override _FitByLayoutBuilderState createState() => _FitByLayoutBuilderState(); } @@ -25,7 +27,7 @@ class _FitByLayoutBuilderState extends State { Widget build(BuildContext context) { return Column( children: [ - Container( + SizedBox( width: _width, child: LayoutBuilder( builder: (_, zone) { @@ -42,8 +44,7 @@ class _FitByLayoutBuilderState extends State { ); } - Widget _buildSlider() { - return Slider( + Widget _buildSlider() => Slider( min: 50, max: 300, label: "父宽:${_width.toStringAsFixed(1)}", @@ -51,7 +52,6 @@ class _FitByLayoutBuilderState extends State { onChanged: (v) => setState(() { _width = v; })); - } Widget _buildType1() => Container( color: Colors.blue, @@ -84,7 +84,7 @@ class _FitByLayoutBuilderState extends State { ); Widget _buildTitle() => Container( - margin: EdgeInsets.only(left: 10, right: 10, top: 10), + margin: const EdgeInsets.only(left: 10, right: 10, top: 10), color: Colors.grey, height: 30, ); diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart index 3b33aeb..8b9318f 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart @@ -12,6 +12,7 @@ import 'package:flutter/material.dart'; // } class SimpleExpandableText extends StatefulWidget { + const SimpleExpandableText({Key? key}) : super(key: key); @override createState() => _SimpleExpandableTextState(); @@ -19,56 +20,72 @@ class SimpleExpandableText extends StatefulWidget { class _SimpleExpandableTextState extends State { - final text = '桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。' + final String text = '桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。' '红的像火,粉的像霞,白的像雪。' '花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。' '花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。' '野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。'; bool expand = false; - int maxLines =3; + int maxLines = 3; - - final style = TextStyle(fontSize: 15, color: Colors.grey, shadows: [ + final TextStyle style = + const TextStyle(fontSize: 15, color: Colors.grey, shadows: [ Shadow( - color: Colors.white, offset: Offset(1,1) - ) + color: Colors.white, + offset: Offset(1, 1), + ), ]); + BoxDecoration get boxDecoration => BoxDecoration( + color: Colors.cyanAccent.withAlpha(8), + borderRadius: const BorderRadiusDirectional.all( + Radius.circular(20), + ), + ); + + late TextPainter painter; + + @override + void initState() { + super.initState(); + painter = TextPainter( + text: TextSpan(text: text, style: style), + maxLines: maxLines, + textDirection: TextDirection.ltr, + ); + } + @override build(context) => Container( - decoration: BoxDecoration( - color: Colors.cyanAccent.withAlpha(8), - borderRadius: BorderRadiusDirectional.all(Radius.circular(20))), - padding: EdgeInsets.all(15), - child: LayoutBuilder(builder: (context, size) { - - final painter = TextPainter( - text: TextSpan(text: text, style: style), - maxLines: maxLines, - textDirection: TextDirection.ltr, + decoration: boxDecoration, + padding: const EdgeInsets.all(15), + child: LayoutBuilder(builder: (context, size) { + painter.layout(maxWidth: size.maxWidth); + if (!painter.didExceedMaxLines) { + return Text(text, style: style); + } + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(text, maxLines: expand ? null : 3, style: style), + GestureDetector( + onTap: toggle, + child: Text( + expand ? '<< 收起' : '展开 >>', + style: const TextStyle(color: Colors.blue), + ), + ), + ], + ); + }), ); - painter.layout(maxWidth: size.maxWidth); - if (!painter.didExceedMaxLines) - return Text(text, style: style); - return Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(text, maxLines: expand ? null : 3, style: style), - GestureDetector( - onTap: () => setState(() { - expand = !expand; - }), - child: Text( - expand ? '<< 收起' : '展开 >>', - style: TextStyle(color: Colors.blue), - ), - ), - ], - ); - }), - ); + void toggle() { + setState(() { + expand = !expand; + }); + } } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LimiteBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LimiteBox/node1_base.dart index d1bec3c..ad593b5 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/LimiteBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/LimiteBox/node1_base.dart @@ -13,28 +13,31 @@ import 'package:flutter/material.dart'; // "【maxWidth】 : 最大宽 【double】", // } class CustomLimitedBox extends StatefulWidget { + const CustomLimitedBox({Key? key}) : super(key: key); + @override _CustomLimitedBoxState createState() => _CustomLimitedBoxState(); } class _CustomLimitedBoxState extends State { - var _text = ''; + String _text = ''; @override Widget build(BuildContext context) { - var child = Container( + Widget child = Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 50, height: 50, - child: Text("Static"), + child: const Text("Static"), ); - var box = LimitedBox( + Widget box = LimitedBox( maxHeight: 60, maxWidth: 100, child: Container(color: Colors.orange, child: Text(_text)), ); + return Column( children: [ Container( @@ -54,7 +57,7 @@ class _CustomLimitedBoxState extends State { return Padding( padding: const EdgeInsets.all(18.0), child: TextField( - decoration: InputDecoration( + decoration: const InputDecoration( border: OutlineInputBorder(), hintText: '请输入', ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/OffStage/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/OffStage/node1_base.dart index 7719ad4..4d9d069 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/OffStage/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/OffStage/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【offstage】 : 是否消失 【bool】", // } class CustomOffstage extends StatefulWidget { + const CustomOffstage({Key? key}) : super(key: key); + @override _CustomOffstageState createState() => _CustomOffstageState(); } @@ -21,7 +23,7 @@ class _CustomOffstageState extends State { @override Widget build(BuildContext context) { - var radBox = Container( + Widget radBox = Container( height: 50, width: 60, color: Colors.red, @@ -30,7 +32,7 @@ class _CustomOffstageState extends State { onChanged: (v) => setState(() => _off = v)), ); - return Container( + return SizedBox( width: 250, height: 200, child: Row( @@ -46,7 +48,7 @@ class _CustomOffstageState extends State { height: 100, width: 100, color: Colors.blue, - child: Text( + child: const Text( "Offstage", style: TextStyle(fontSize: 20), ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Opacity/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Opacity/node1_base.dart index aacb7ee..41baec5 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Opacity/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Opacity/node1_base.dart @@ -12,19 +12,22 @@ import 'package:flutter/material.dart'; // "【opacity】 : 透明度0~1 【double】", // } class CustomOpacity extends StatefulWidget { + const CustomOpacity({Key? key}) : super(key: key); + @override _CustomOpacityState createState() => _CustomOpacityState(); } class _CustomOpacityState extends State { - var _opacity = 0.2; + double _opacity = 0.2; @override Widget build(BuildContext context) { return Column( - children: [_buildSlider(), _buildOpacity()], + children: [_buildSlider(), _buildOpacity()], ); } + // 创建Opacity Widget _buildOpacity() => Opacity( opacity: _opacity, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart index 569b043..145f001 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart @@ -16,16 +16,18 @@ import 'package:flutter/material.dart'; // "【alignment】 : 对齐方式 【AlignmentGeometry】", // } class CustomOverflowBox extends StatefulWidget { + const CustomOverflowBox({Key? key}) : super(key: key); + @override _CustomOverflowBoxState createState() => _CustomOverflowBoxState(); } class _CustomOverflowBoxState extends State { - var _text = ''; + String _text = ''; @override Widget build(BuildContext context) { - var box = OverflowBox( + Widget box = OverflowBox( alignment: Alignment.center, minHeight: 50, minWidth: 50, @@ -35,7 +37,6 @@ class _CustomOverflowBoxState extends State { color: Colors.orange, child: Text(_text), ), -// child: Text("张风"), ); return Column( children: [ @@ -53,7 +54,7 @@ class _CustomOverflowBoxState extends State { return Padding( padding: const EdgeInsets.all(18.0), child: TextField( - decoration: InputDecoration( + decoration: const InputDecoration( border: OutlineInputBorder(), hintText: '请输入', ), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node1_all.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node1_all.dart index 0f3da50..aee7c3e 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node1_all.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node1_all.dart @@ -14,6 +14,7 @@ import 'package:flutter/material.dart'; // "EdgeInsets.all用来限定相同的四边边距", // } class PaddingAll extends StatelessWidget { + const PaddingAll({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -22,19 +23,17 @@ class PaddingAll extends StatelessWidget { width: 200, height: 150, child: Padding( - padding: EdgeInsets.all(20), + padding: const EdgeInsets.all(20), child: _buildChild(), ), ); } - Widget _buildChild() { - return Container( + Widget _buildChild() => Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 100, height: 100, - child: Text("孩子"), + child: const Text("孩子"), ); - } } \ No newline at end of file diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node2_only.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node2_only.dart index 81bdb00..9ede568 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node2_only.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node2_only.dart @@ -12,6 +12,7 @@ import 'package:flutter/material.dart'; // "EdgeInsets.only用来限定相同的四边边距", // } class PaddingOnly extends StatelessWidget { + const PaddingOnly({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -20,19 +21,17 @@ class PaddingOnly extends StatelessWidget { width: 200, height: 150, child: Padding( - padding: EdgeInsets.only(top:10,left: 10), + padding: const EdgeInsets.only(top:10,left: 10), child: _buildChild(), ), ); } - Widget _buildChild() { - return Container( + Widget _buildChild() => Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 100, height: 100, - child: Text("孩子"), + child: const Text("孩子"), ); - } } \ No newline at end of file diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart index 2c7c643..a692b1f 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart @@ -12,6 +12,7 @@ import 'package:flutter/material.dart'; // "EdgeInsets.symmetric用来限定水平和竖直方向的边距", // } class PaddingSymmetric extends StatelessWidget { + const PaddingSymmetric({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -20,19 +21,17 @@ class PaddingSymmetric extends StatelessWidget { width: 200, height: 150, child: Padding( - padding: EdgeInsets.symmetric(vertical: 30,horizontal: 10), + padding: const EdgeInsets.symmetric(vertical: 30,horizontal: 10), child: _buildChild(), ), ); } - Widget _buildChild() { - return Container( + Widget _buildChild() => Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 100, height: 100, - child: Text("孩子"), + child: const Text("孩子"), ); - } } \ No newline at end of file diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart index ff28e1e..9e91a18 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart @@ -16,13 +16,14 @@ import 'package:flutter/material.dart'; // "【color】: 颜色 【Color】", // } class PhysicalModelDemo extends StatelessWidget{ + const PhysicalModelDemo({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - Container( + SizedBox( width: 150, height: 150, child: PhysicalModel( @@ -37,7 +38,7 @@ class PhysicalModelDemo extends StatelessWidget{ color: Colors.deepPurpleAccent), ), - Container( + SizedBox( width: 150, height: 150, child: PhysicalModel( @@ -47,7 +48,7 @@ class PhysicalModelDemo extends StatelessWidget{ 'assets/images/caver.webp', fit: BoxFit.cover, ), - borderRadius: BorderRadius.all(Radius.circular(20)), + borderRadius: const BorderRadius.all(Radius.circular(20)), clipBehavior: Clip.hardEdge, shape: BoxShape.rectangle, color: Colors.deepPurpleAccent), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart index 601cd7f..ee4e255 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 @@ -17,9 +17,11 @@ import 'package:flutter/material.dart'; // } class PhysicalShapeDemo extends StatelessWidget { + const PhysicalShapeDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return Container( + return SizedBox( width: 200, height: 200, child: PhysicalShape( @@ -30,7 +32,7 @@ class PhysicalShapeDemo extends StatelessWidget { fit: BoxFit.cover, ), clipBehavior: Clip.hardEdge, - clipper: ShapeBorderClipper( + clipper: const ShapeBorderClipper( shape: CircleBorder(side: BorderSide.none), ), color: Colors.deepPurpleAccent), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/main.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/main.dart index 05ca9f7..13fecd3 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/main.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/main.dart @@ -6,9 +6,11 @@ import 'package:flutter/material.dart'; import 'node2_save.dart'; -void main() => runApp(MyApp()); +void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { + const MyApp({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return MaterialApp( diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart index 89e2b3c..3bb29b5 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart @@ -1,6 +1,5 @@ import 'dart:ui'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 @@ -15,15 +14,19 @@ import 'package:flutter/material.dart'; // } class RepaintBoundaryDemo extends StatelessWidget{ + const RepaintBoundaryDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return RepaintBoundary( + return const RepaintBoundary( child: TempPlayBezier3Page(), ); } } class TempPlayBezier3Page extends StatefulWidget { + const TempPlayBezier3Page({Key? key}) : super(key: key); + @override _TempPlayBezier3PageState createState() => _TempPlayBezier3PageState(); } @@ -40,15 +43,15 @@ class _TempPlayBezier3PageState extends State { void _initPoints() { _pos = []; - _pos.add(Offset(0, 0)); - _pos.add(Offset(60, -60)); - _pos.add(Offset(-90, -90)); - _pos.add(Offset(-120, -40)); + _pos.add(const Offset(0, 0)); + _pos.add(const Offset(60, -60)); + _pos.add(const Offset(-90, -90)); + _pos.add(const Offset(-120, -40)); } @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 200, width: MediaQuery.of(context).size.width, child: CustomPaint( diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart index bf876ad..c5cc147 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart @@ -1,8 +1,5 @@ import 'dart:io'; import 'dart:typed_data'; -import 'dart:ui'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:path_provider/path_provider.dart'; @@ -22,13 +19,15 @@ import 'node1_base.dart'; class RepaintBoundarySave extends StatelessWidget { final GlobalKey _globalKey = GlobalKey(); + RepaintBoundarySave({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Stack( children: [ RepaintBoundary( key: _globalKey, - child: TempPlayBezier3Page(), + child: const TempPlayBezier3Page(), ), Positioned(right: -10, child: _buildButton3(context)) ], @@ -36,19 +35,19 @@ class RepaintBoundarySave extends StatelessWidget { } Widget _buildButton3(context) => MaterialButton( - child: Icon( + child: const Icon( Icons.save_alt, size: 15, color: Colors.white, ), color: Colors.green, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), onPressed: () async { - var bits = await _widget2Image(_globalKey); - var dir = await getApplicationSupportDirectory(); - var file = File(dir.path + "/save_img.png"); + Uint8List? bits = await _widget2Image(_globalKey); + Directory dir = await getApplicationSupportDirectory(); + File file = File(dir.path + "/save_img.png"); if(bits==null) return; var f = await file.writeAsBytes(bits); Scaffold.of(context).showSnackBar(SnackBar( diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart index ec9e6e6..866c30d 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【quarterTurns】 : 旋转多少个90° 【int】", // } class CustomRotatedBox extends StatefulWidget { + const CustomRotatedBox({Key? key}) : super(key: key); + @override _CustomRotatedBoxState createState() => _CustomRotatedBoxState(); } @@ -25,7 +27,7 @@ class _CustomRotatedBoxState extends State { quarterTurns: _quarterTurns, child: GestureDetector( onTap: () => setState(() => _quarterTurns++), - child: Icon( + child: const Icon( Icons.android, size: 60, color: Colors.blue, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart index e37ec4d..606fbf3 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart @@ -15,6 +15,10 @@ import 'package:flutter/material.dart'; // " 通过RadialGradient#createShader创建径向渐变着色器。", // } class RadialShaderMask extends StatelessWidget { + const RadialShaderMask({Key? key}) : super(key: key); + + final List colors = const [Colors.red, Colors.yellow, Colors.blue]; + @override Widget build(BuildContext context) { return Wrap( @@ -31,7 +35,7 @@ class RadialShaderMask extends StatelessWidget { ), ShaderMask( shaderCallback: _buildShader, - child: Text( + child: const Text( '张风捷特烈', style: TextStyle(fontSize: 40, color: Colors.white), ), @@ -48,12 +52,11 @@ class RadialShaderMask extends StatelessWidget { ); } - final colors = [Colors.red, Colors.yellow, Colors.blue]; Shader _buildShader(Rect bounds) => RadialGradient( - center: Alignment.topLeft, - radius: 1.0, - tileMode: TileMode.mirror, - colors: colors) + center: Alignment.topLeft, + radius: 1.0, + tileMode: TileMode.mirror, + colors: colors) .createShader(bounds); } \ No newline at end of file diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart index 2004b0e..abf71ee 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart @@ -12,6 +12,10 @@ import 'package:flutter/material.dart'; // "着色器相关知识详见【绘制专辑】", // } class LinearShaderMask extends StatelessWidget { + const LinearShaderMask({Key? key}) : super(key: key); + + final List colors = const [Colors.red, Colors.yellow, Colors.blue]; + @override Widget build(BuildContext context) { return Wrap( @@ -28,7 +32,7 @@ class LinearShaderMask extends StatelessWidget { ), ShaderMask( shaderCallback: _buildShader, - child: Text( + child: const Text( '张风捷特烈', style: TextStyle(fontSize: 40, color: Colors.white), ), @@ -45,12 +49,10 @@ class LinearShaderMask extends StatelessWidget { ); } - final colors = [Colors.red, Colors.yellow, Colors.blue]; - Shader _buildShader(Rect bounds) => LinearGradient( - begin: Alignment.centerLeft, - end: Alignment.centerRight, - tileMode: TileMode.mirror, - colors: colors) + begin: Alignment.centerLeft, + end: Alignment.centerRight, + tileMode: TileMode.mirror, + colors: colors) .createShader(bounds); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart index 9e3b22f..ce67b3c 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -13,6 +12,8 @@ import 'package:flutter/material.dart'; // } class SizeChangedLayoutNotifierDemo extends StatefulWidget { + const SizeChangedLayoutNotifierDemo({Key? key}) : super(key: key); + @override _SizeChangedLayoutNotifierDemoState createState() => _SizeChangedLayoutNotifierDemoState(); } @@ -33,6 +34,8 @@ class _SizeChangedLayoutNotifierDemoState extends State _ChangeableBoxState(); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedBox/node1_base.dart index c070de0..27d14bc 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedBox/node1_base.dart @@ -13,22 +13,24 @@ import 'package:flutter/material.dart'; // "【height】 : 高 【double】", // } class CustomSizedBox extends StatelessWidget { + const CustomSizedBox({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - var child = Container( + Widget child = Container( alignment: Alignment.center, color: Colors.cyanAccent, width: 50, height: 50, - child: Text("Static"), + child: const Text("Static"), ); - var box = SizedBox( + Widget box = SizedBox( width: 80, height: 40, child: Container( color: Colors.orange, - child: Icon( + child: const Icon( Icons.android, color: Colors.white, )), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart index a604a53..7183692 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart @@ -13,6 +13,7 @@ import 'package:flutter/material.dart'; // "【alignment】 : 对齐方式 【AlignmentGeometry】", // } class CustomSizedOverflowBox extends StatefulWidget { + const CustomSizedOverflowBox({Key? key}) : super(key: key); @override _CustomSizedOverflowBoxState createState() => _CustomSizedOverflowBoxState(); @@ -24,7 +25,7 @@ class _CustomSizedOverflowBoxState extends State { @override Widget build(BuildContext context) { - var box = SizedOverflowBox( + Widget box = SizedOverflowBox( alignment: Alignment.bottomRight, size: Size(_x, _y), child: Container(width: 30, height: 50, color: Colors.orange), diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart index 1c14c72..f5dbade 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart @@ -7,18 +7,16 @@ import 'package:flutter/material.dart'; class Matrix4Shower extends StatelessWidget { final Matrix4 matrix4; - Matrix4Shower(this.matrix4); + const Matrix4Shower(this.matrix4, {Key? key}) : super(key: key); @override Widget build(BuildContext context) { - return Container( - child: Text( - '${matrix4.entry(0, 0).toStringAsFixed(1)},${matrix4.entry(0, 1).toStringAsFixed(1)},${matrix4.entry(0, 2).toStringAsFixed(1)},${matrix4.entry(0, 3).toStringAsFixed(1)},\n' - '${matrix4.entry(1, 0).toStringAsFixed(1)},${matrix4.entry(1, 1).toStringAsFixed(1)},${matrix4.entry(1, 2).toStringAsFixed(1)},${matrix4.entry(1, 3).toStringAsFixed(1)},\n' - '${matrix4.entry(2, 0).toStringAsFixed(1)},${matrix4.entry(2, 1).toStringAsFixed(1)},${matrix4.entry(2, 2).toStringAsFixed(1)},${matrix4.entry(2, 3).toStringAsFixed(1)},\n' - '${matrix4.entry(3, 0).toStringAsFixed(1)},${matrix4.entry(3, 1).toStringAsFixed(1)},${matrix4.entry(3, 2).toStringAsFixed(1)},${matrix4.entry(3, 3).toStringAsFixed(1)}', - style: TextStyle(fontSize: 20, color: Colors.blue), - ), + return Text( + '${matrix4.entry(0, 0).toStringAsFixed(1)},${matrix4.entry(0, 1).toStringAsFixed(1)},${matrix4.entry(0, 2).toStringAsFixed(1)},${matrix4.entry(0, 3).toStringAsFixed(1)},\n' + '${matrix4.entry(1, 0).toStringAsFixed(1)},${matrix4.entry(1, 1).toStringAsFixed(1)},${matrix4.entry(1, 2).toStringAsFixed(1)},${matrix4.entry(1, 3).toStringAsFixed(1)},\n' + '${matrix4.entry(2, 0).toStringAsFixed(1)},${matrix4.entry(2, 1).toStringAsFixed(1)},${matrix4.entry(2, 2).toStringAsFixed(1)},${matrix4.entry(2, 3).toStringAsFixed(1)},\n' + '${matrix4.entry(3, 0).toStringAsFixed(1)},${matrix4.entry(3, 1).toStringAsFixed(1)},${matrix4.entry(3, 2).toStringAsFixed(1)},${matrix4.entry(3, 3).toStringAsFixed(1)}', + style: const TextStyle(fontSize: 20, color: Colors.blue), ); } } \ No newline at end of file diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node1_skew.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node1_skew.dart index 4d64e62..008db49 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node1_skew.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node1_skew.dart @@ -1,6 +1,4 @@ import 'dart:math'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'matrix4_shower.dart'; @@ -18,6 +16,8 @@ import 'matrix4_shower.dart'; // "斜切y由R1C0数控制,入参为弧度值,表示斜切角度", // } class SkewTransform extends StatefulWidget { + const SkewTransform({Key? key}) : super(key: key); + @override _SkewTransformState createState() => _SkewTransformState(); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node2_translation.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node2_translation.dart index 02835c2..1c6ee3c 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node2_translation.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node2_translation.dart @@ -16,6 +16,8 @@ import 'matrix4_shower.dart'; // "平移z由R2C3数控制,入参为数值,表示平移长度", // } class TranslationTransform extends StatefulWidget { + const TranslationTransform({Key? key}) : super(key: key); + @override _TranslationTransformState createState() => _TranslationTransformState(); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node3_scale.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node3_scale.dart index 97a5e63..a091f12 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node3_scale.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node3_scale.dart @@ -15,6 +15,8 @@ import 'matrix4_shower.dart'; // "缩放z由R2C2数控制,入参为数值,表示缩放分率", // } class ScaleTransform extends StatefulWidget { + const ScaleTransform({Key? key}) : super(key: key); + @override _ScaleTransformState createState() => _ScaleTransformState(); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node4_rotate.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node4_rotate.dart index 5444d67..d97dc03 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node4_rotate.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node4_rotate.dart @@ -18,6 +18,8 @@ import 'matrix4_shower.dart'; // "z旋转由R0C0、R0C1、R1C0、R1C1控制,入参表示弧度\n" // } class RotateTransform extends StatefulWidget { + const RotateTransform({Key? key}) : super(key: key); + @override _RotateTransformState createState() => _RotateTransformState(); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node5_perspective.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node5_perspective.dart index 5a90e75..c8a9d69 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node5_perspective.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/node5_perspective.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "由R3C1、R3C2、R3C3控制透视", // } class R3C2 extends StatefulWidget { + const R3C2({Key? key}) : super(key: key); + @override _R3C2State createState() => _R3C2State(); } diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/zz_node_op.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/zz_node_op.dart index 9e69fce..2f5045e 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/zz_node_op.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/Transform/zz_node_op.dart @@ -5,13 +5,15 @@ import 'package:flutter/material.dart'; /// 说明: class CustomTransform extends StatefulWidget { + const CustomTransform({Key? key}) : super(key: key); + @override _CustomTransformState createState() => _CustomTransformState(); } class _CustomTransformState extends State { - var angle = 0.0; - var m = [ + double angle = 0.0; + List m = [ 1.0, 0.0, 0.0, diff --git a/lib/widget_system/widgets/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart b/lib/widget_system/widgets/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart index 36b143f..9a63fe0 100644 --- a/lib/widget_system/widgets/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart +++ b/lib/widget_system/widgets/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart @@ -13,23 +13,25 @@ import 'package:flutter/material.dart'; // "【alignment】 : 对齐方式 【AlignmentGeometry】", // } class CustomUnConstrainedBox extends StatefulWidget { + const CustomUnConstrainedBox({Key? key}) : super(key: key); + @override _CustomUnConstrainedBoxState createState() => _CustomUnConstrainedBoxState(); } class _CustomUnConstrainedBoxState extends State { - var _value = false; + bool _value = false; @override Widget build(BuildContext context) { return Wrap( spacing: 20, - children: [_buildUnconstrainedBox(), _buildConstrainedAxis()], + children: [_buildUnconstrainedBox(), _buildConstrainedAxis()], ); } Widget _buildUnconstrainedBox() { - var child = Container( + Widget child = Container( color: Colors.cyanAccent, width: 60, height: 60, @@ -74,7 +76,7 @@ class _CustomUnConstrainedBoxState extends State { height: 60, )), ), - Text("竖直方向仍约束") + const Text("竖直方向仍约束") ], ); } diff --git a/lib/widget_system/widgets/Sliver/CupertinoSliverNavigationBar/node1_base.dart b/lib/widget_system/widgets/Sliver/CupertinoSliverNavigationBar/node1_base.dart index 25a453f..bd419ea 100644 --- a/lib/widget_system/widgets/Sliver/CupertinoSliverNavigationBar/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/CupertinoSliverNavigationBar/node1_base.dart @@ -18,6 +18,8 @@ import 'package:flutter/material.dart'; // "【padding】 : 内边距 【EdgeInsetsDirectional】", // } class CupertinoSliverNavigationBarDemo extends StatelessWidget { + CupertinoSliverNavigationBarDemo({Key? key}) : super(key: key); + final List data = [ Colors.orange[50]!, Colors.orange[100]!, @@ -33,12 +35,12 @@ class CupertinoSliverNavigationBarDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [ CupertinoSliverNavigationBar( - trailing: Icon( + trailing: const Icon( CupertinoIcons.share, size: 25, ), @@ -47,13 +49,13 @@ class CupertinoSliverNavigationBarDemo extends StatelessWidget { // middle: Text('张风捷特烈'), largeTitle: Row( mainAxisSize: MainAxisSize.min, - children: [ + children: const [ Icon( Icons.ac_unit, size: 20, ), Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), + padding: EdgeInsets.symmetric(horizontal: 8), child: Text('张风捷特烈'), ), Icon(Icons.ac_unit, size: 20), @@ -78,7 +80,7 @@ class CupertinoSliverNavigationBarDemo extends StatelessWidget { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -90,7 +92,7 @@ class CupertinoSliverNavigationBarDemo extends StatelessWidget { ); Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); diff --git a/lib/widget_system/widgets/Sliver/CupertinoSliverRefreshControl/node1_base.dart b/lib/widget_system/widgets/Sliver/CupertinoSliverRefreshControl/node1_base.dart index 5938b6c..edf3fb4 100644 --- a/lib/widget_system/widgets/Sliver/CupertinoSliverRefreshControl/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/CupertinoSliverRefreshControl/node1_base.dart @@ -17,6 +17,8 @@ import 'package:flutter/material.dart'; // "【builder】 : 指示器构造器 【RefreshControlIndicatorBuilder】", // } class CupertinoSliverRefreshControlDemo extends StatefulWidget { + const CupertinoSliverRefreshControlDemo({Key? key}) : super(key: key); + @override _CupertinoSliverRefreshControlDemoState createState() => _CupertinoSliverRefreshControlDemoState(); @@ -41,10 +43,11 @@ class _CupertinoSliverRefreshControlDemoState @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( - physics: BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), + physics: const BouncingScrollPhysics( + parent: AlwaysScrollableScrollPhysics()), slivers: [ _buildSliverAppBar(), CupertinoSliverRefreshControl( @@ -68,7 +71,7 @@ class _CupertinoSliverRefreshControlDemoState color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -83,16 +86,16 @@ class _CupertinoSliverRefreshControlDemoState return SliverAppBar( expandedHeight: 120.0, leading: Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -105,7 +108,7 @@ class _CupertinoSliverRefreshControlDemoState List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), @@ -119,7 +122,7 @@ class _CupertinoSliverRefreshControlDemoState r.nextInt(255), r.nextInt(255), r.nextInt(255), r.nextInt(255)); Future _doRefresh() async { - await Future.delayed(Duration(seconds: 2)); + await Future.delayed(const Duration(seconds: 2)); setState(() { data.insertAll(0, [randomColor()]); }); diff --git a/lib/widget_system/widgets/Sliver/CustomScrollView/node1_base.dart b/lib/widget_system/widgets/Sliver/CustomScrollView/node1_base.dart index c177d69..f8ff117 100644 --- a/lib/widget_system/widgets/Sliver/CustomScrollView/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/CustomScrollView/node1_base.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "【controller】 : 控制器 【ScrollController】", // } class CustomScrollViewDemo extends StatelessWidget { + CustomScrollViewDemo({Key? key}) : super(key: key); + final List data = [ Colors.purple[50]!, Colors.purple[100]!, @@ -29,7 +31,7 @@ class CustomScrollViewDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( anchor: 0, @@ -40,6 +42,14 @@ class CustomScrollViewDemo extends StatelessWidget { ); } + TextStyle get textStyle => const TextStyle(color: Colors.white, shadows: [ + Shadow( + color: Colors.black, + offset: Offset(.5, .5), + blurRadius: 2, + ) + ]); + Widget _buildSliverFixedExtentList() => SliverFixedExtentList( itemExtent: 60, delegate: SliverChildBuilderDelegate( @@ -50,12 +60,7 @@ class CustomScrollViewDemo extends StatelessWidget { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), + style: textStyle, ), ), childCount: data.length), @@ -68,21 +73,26 @@ class CustomScrollViewDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')), flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 - title: Text( + title: const Text( '张风捷特烈', style: TextStyle(color: Colors.black, //标题 shadows: [ - Shadow(color: Colors.blue, offset: Offset(1, 1), blurRadius: 2) + Shadow( + color: Colors.blue, + offset: Offset(1, 1), + blurRadius: 2, + ) ]), ), background: Image.asset( - "assets/images/caver.webp", fit: BoxFit.cover, + "assets/images/caver.webp", + fit: BoxFit.cover, ), ), ); diff --git a/lib/widget_system/widgets/Sliver/FlexibleSpaceBar/node1_base.dart b/lib/widget_system/widgets/Sliver/FlexibleSpaceBar/node1_base.dart index afa4b72..7522ca8 100644 --- a/lib/widget_system/widgets/Sliver/FlexibleSpaceBar/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/FlexibleSpaceBar/node1_base.dart @@ -1,7 +1,6 @@ /// create by 张风捷特烈 on 2020-03-31 /// contact me by email 1981462002@qq.com -/// 说明: - +/// 说明: import 'package:flutter/material.dart'; /// 说明: @@ -18,6 +17,7 @@ import 'package:flutter/material.dart'; // "【centerTitle】 : 是否居中 【bool】", // } class FlexibleSpaceBarDemo extends StatelessWidget { + FlexibleSpaceBarDemo({Key? key}) : super(key: key); final List data =[ Colors.blue[50]!, @@ -34,15 +34,11 @@ class FlexibleSpaceBarDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return - Container( - height: 300, - child: CustomScrollView( - slivers: [ - _buildSliverAppBar(), - _buildSliverFixedExtentList() - ], - ), + return SizedBox( + height: 300, + child: CustomScrollView( + slivers: [_buildSliverAppBar(), _buildSliverFixedExtentList()], + ), ); } @@ -55,12 +51,17 @@ class FlexibleSpaceBarDemo extends StatelessWidget { backgroundColor: Colors.blue, flexibleSpace: FlexibleSpaceBar(//伸展处布局 centerTitle: false, - title: Text('张风捷特烈',style: TextStyle(shadows: [ - Shadow(color: Colors.blue, offset: Offset(1, 1), blurRadius: 2) - ]),), - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - stretchModes: [StretchMode.blurBackground,StretchMode.zoomBackground], + title: const Text( + '张风捷特烈', + style: TextStyle(shadows: [ + Shadow(color: Colors.blue, offset: Offset(1, 1), blurRadius: 2) + ]), + ), + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), + //标题边距 + collapseMode: CollapseMode.parallax, + //视差效果 + stretchModes: const [StretchMode.blurBackground, StretchMode.zoomBackground], background: Image.asset( "assets/images/caver.webp", fit: BoxFit.cover, @@ -70,16 +71,16 @@ class FlexibleSpaceBarDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( - Icons.star_border, - color: Colors.white, - ), + icon: const Icon( + Icons.star_border, + color: Colors.white, + ), ) ]; @@ -93,12 +94,12 @@ class FlexibleSpaceBarDemo extends StatelessWidget { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), + style: const TextStyle(color: Colors.white, shadows: [ + Shadow( + color: Colors.black, + offset: Offset(.5, .5), + blurRadius: 2) + ]), ), ), childCount: data.length), diff --git a/lib/widget_system/widgets/Sliver/SliverAnimatedList/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverAnimatedList/node1_base.dart index 9ac4cf4..2ab87aa 100644 --- a/lib/widget_system/widgets/Sliver/SliverAnimatedList/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverAnimatedList/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -13,6 +13,8 @@ import 'package:flutter/material.dart'; // "【initialItemCount】 : 初始item个数 【int】", // } class SliverAnimatedListDemo extends StatefulWidget { + const SliverAnimatedListDemo({Key? key}) : super(key: key); + @override _SliverAnimatedListDemoState createState() => _SliverAnimatedListDemoState(); @@ -80,12 +82,12 @@ class _SliverAnimatedListDemoState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [ SliverAppBar( - title: Text( + title: const Text( 'SliverAnimatedList', style: TextStyle(fontSize: 20), ), @@ -186,8 +188,7 @@ class CardItem extends StatelessWidget { child: Center( child: Text( 'Item $item', - style: TextStyle(color: Colors.white,fontSize: 16), - + style: const TextStyle(color: Colors.white,fontSize: 16), ), ), ), diff --git a/lib/widget_system/widgets/Sliver/SliverAppBar/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverAppBar/node1_base.dart index 06a9017..bbd37bb 100644 --- a/lib/widget_system/widgets/Sliver/SliverAppBar/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverAppBar/node1_base.dart @@ -23,6 +23,8 @@ import 'package:flutter/material.dart'; // " snap为true时必需floating为true", // } class SliverAppBarDemo extends StatefulWidget { + const SliverAppBarDemo({Key? key}) : super(key: key); + @override _SliverAppBarDemoState createState() => _SliverAppBarDemoState(); } @@ -50,7 +52,7 @@ class _SliverAppBarDemoState extends State { return Column( children: [ _buildTool(), - Container( + SizedBox( height: 300, child: CustomScrollView( slivers: [ @@ -68,7 +70,7 @@ class _SliverAppBarDemoState extends State { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, floating: _floating, @@ -76,7 +78,7 @@ class _SliverAppBarDemoState extends State { snap: _snap, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar(//伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -87,13 +89,13 @@ class _SliverAppBarDemoState extends State { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), @@ -110,7 +112,7 @@ class _SliverAppBarDemoState extends State { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -132,7 +134,7 @@ class _SliverAppBarDemoState extends State { direction: Axis.vertical, crossAxisAlignment: WrapCrossAlignment.center, children: [ - Text('floating'), + const Text('floating'), Switch( value: _floating, onChanged: (v) { @@ -147,7 +149,7 @@ class _SliverAppBarDemoState extends State { direction: Axis.vertical, crossAxisAlignment: WrapCrossAlignment.center, children: [ - Text('pinned'), + const Text('pinned'), Switch( value: _pinned, onChanged: (v) => setState(() => _pinned = v)), @@ -156,7 +158,7 @@ class _SliverAppBarDemoState extends State { direction: Axis.vertical, crossAxisAlignment: WrapCrossAlignment.center, children: [ - Text('snap'), + const Text('snap'), Switch( value: _snap, onChanged: (v) { diff --git a/lib/widget_system/widgets/Sliver/SliverFillRemaining/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverFillRemaining/node1_base.dart index 65114c1..c0aeb67 100644 --- a/lib/widget_system/widgets/Sliver/SliverFillRemaining/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverFillRemaining/node1_base.dart @@ -1,6 +1,4 @@ import 'dart:math'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -16,6 +14,8 @@ import 'package:flutter/material.dart'; // "【child】 : 子组件 【Widget】", // } class SliverFillRemainingDemo extends StatefulWidget { + const SliverFillRemainingDemo({Key? key}) : super(key: key); + @override _SliverFillRemainingDemoState createState() => _SliverFillRemainingDemoState(); @@ -42,10 +42,10 @@ class _SliverFillRemainingDemoState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( - physics: BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), + physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), slivers: [ _buildSliverAppBar(), _buildSliverList(), @@ -53,7 +53,7 @@ class _SliverFillRemainingDemoState extends State { hasScrollBody: hasScrollBody, fillOverscroll: fillOverscroll, child: Container( - decoration: BoxDecoration( + decoration: const BoxDecoration( image: DecorationImage( fit: BoxFit.cover, image: AssetImage("assets/images/sabar_bar.webp"))), @@ -130,7 +130,7 @@ class _SliverFillRemainingDemoState extends State { pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -143,7 +143,7 @@ class _SliverFillRemainingDemoState extends State { List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverFillViewport/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverFillViewport/node1_base.dart index 85a62f2..4f8a97a 100644 --- a/lib/widget_system/widgets/Sliver/SliverFillViewport/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverFillViewport/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【delegate】 : 孩子代理 【SliverChildDelegate】", // } class SliverFillViewportDemo extends StatefulWidget { + const SliverFillViewportDemo({Key? key}) : super(key: key); + @override _SliverFillViewportDemoState createState() => _SliverFillViewportDemoState(); } @@ -37,7 +39,7 @@ class _SliverFillViewportDemoState extends State { return Column( children: [ _buildTool(), - Container( + SizedBox( height: 300, child: CustomScrollView( slivers: [_buildSliverAppBar(), _buildSliverList()], @@ -57,7 +59,7 @@ class _SliverFillViewportDemoState extends State { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -72,14 +74,14 @@ class _SliverFillViewportDemoState extends State { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -90,13 +92,13 @@ class _SliverFillViewportDemoState extends State { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverFixedExtentList/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverFixedExtentList/node1_base.dart index 6393749..a613a5d 100644 --- a/lib/widget_system/widgets/Sliver/SliverFixedExtentList/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverFixedExtentList/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【delegate】 : 孩子代理 【SliverChildDelegate】", // } class SliverFixedExtentListDemo extends StatefulWidget { + const SliverFixedExtentListDemo({Key? key}) : super(key: key); + @override _SliverFixedExtentListDemoState createState() => _SliverFixedExtentListDemoState(); } @@ -33,7 +35,7 @@ class _SliverFixedExtentListDemoState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [_buildSliverAppBar(), _buildSliverList()], @@ -51,7 +53,7 @@ class _SliverFixedExtentListDemoState extends State { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -66,14 +68,14 @@ class _SliverFixedExtentListDemoState extends State { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -84,13 +86,13 @@ class _SliverFixedExtentListDemoState extends State { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverGrid/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverGrid/node1_base.dart index 3781a8e..5e9dce9 100644 --- a/lib/widget_system/widgets/Sliver/SliverGrid/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverGrid/node1_base.dart @@ -13,11 +13,13 @@ import 'package:flutter/material.dart'; // "属性特征同GridView,可详见之", // } class SliverGirdDemo extends StatelessWidget { - final data = List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); + SliverGirdDemo({Key? key}) : super(key: key); + + final List data = List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [_buildSliverAppBar(), _buildSliverList()], @@ -38,7 +40,7 @@ class SliverGirdDemo extends StatelessWidget { color: e, child: Text( colorString(e), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -53,14 +55,14 @@ class SliverGirdDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -71,13 +73,13 @@ class SliverGirdDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverIgnorePointer/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverIgnorePointer/node1_base.dart index 0433e35..f5be10c 100644 --- a/lib/widget_system/widgets/Sliver/SliverIgnorePointer/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverIgnorePointer/node1_base.dart @@ -1,6 +1,4 @@ import 'dart:math'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -15,6 +13,8 @@ import 'package:flutter/material.dart'; // "【ignoring】 : 是否忽略事件 【bool】\n", // } class SliverIgnorePointerDemo extends StatefulWidget { + const SliverIgnorePointerDemo({Key? key}) : super(key: key); + @override _SliverIgnorePointerDemoState createState() => _SliverIgnorePointerDemoState(); @@ -33,19 +33,16 @@ class _SliverIgnorePointerDemoState extends State { Colors.orange[800]!, Colors.orange[900]!, ]; - - final Random r = Random(); - bool hasScrollBody = false; bool fillOverscroll = true; @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( - physics: BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), + physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), slivers: [ _buildSliverAppBar(), _buildSliverList(), @@ -55,7 +52,7 @@ class _SliverIgnorePointerDemoState extends State { hasScrollBody: hasScrollBody, fillOverscroll: fillOverscroll, child: Container( - decoration: BoxDecoration( + decoration: const BoxDecoration( image: DecorationImage( fit: BoxFit.cover, image: AssetImage("assets/images/sabar_bar.webp"))), @@ -83,7 +80,7 @@ class _SliverIgnorePointerDemoState extends State { hasScrollBody = !hasScrollBody; }); }, - child: Text('hasScrollBody:$hasScrollBody',style: TextStyle(color: Colors.white),), + child: Text('hasScrollBody:$hasScrollBody',style: const TextStyle(color: Colors.white),), ), RaisedButton( color: Colors.blue, @@ -93,7 +90,7 @@ class _SliverIgnorePointerDemoState extends State { fillOverscroll = !fillOverscroll; }); }, - child: Text('fillOverscroll:$fillOverscroll',style: TextStyle(color: Colors.white)), + child: Text('fillOverscroll:$fillOverscroll',style: const TextStyle(color: Colors.white)), ), ], ), @@ -110,7 +107,7 @@ class _SliverIgnorePointerDemoState extends State { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -125,15 +122,15 @@ class _SliverIgnorePointerDemoState extends State { return SliverAppBar( expandedHeight: 120.0, leading: Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -146,7 +143,7 @@ class _SliverIgnorePointerDemoState extends State { List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverLayoutBuilder/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverLayoutBuilder/node1_base.dart index e63dfb2..5eccff5 100644 --- a/lib/widget_system/widgets/Sliver/SliverLayoutBuilder/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverLayoutBuilder/node1_base.dart @@ -1,5 +1,3 @@ - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -15,6 +13,8 @@ import 'package:flutter/rendering.dart'; // "【builder】 : 组件构造器 【SliverLayoutWidgetBuilder】", // } class SliverLayoutBuilderDemo extends StatefulWidget { + const SliverLayoutBuilderDemo({Key? key}) : super(key: key); + @override _SliverLayoutBuilderDemoState createState() => _SliverLayoutBuilderDemoState(); @@ -37,10 +37,10 @@ class _SliverLayoutBuilderDemoState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( - physics: BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), + physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), slivers: [ _buildSliverAppBar(), SliverLayoutBuilder( @@ -62,7 +62,7 @@ class _SliverLayoutBuilderDemoState extends State { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -77,15 +77,15 @@ class _SliverLayoutBuilderDemoState extends State { return SliverAppBar( expandedHeight: 120.0, leading: Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -98,7 +98,7 @@ class _SliverLayoutBuilderDemoState extends State { List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), @@ -114,7 +114,7 @@ class _SliverLayoutBuilderDemoState extends State { alignment: Alignment.center, height: constraints.remainingPaintExtent / 3, color: Colors.red, - child: Text( + child: const Text( "SliverLayoutBuilder", style: TextStyle(color: Colors.white, fontSize: 20), ), diff --git a/lib/widget_system/widgets/Sliver/SliverList/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverList/node1_base.dart index 6c4744a..26b91db 100644 --- a/lib/widget_system/widgets/Sliver/SliverList/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverList/node1_base.dart @@ -11,6 +11,8 @@ import 'package:flutter/material.dart'; // "【delegate】 : 孩子代理 【SliverChildDelegate】", // } class SliverListDemo extends StatelessWidget { + SliverListDemo({Key? key}) : super(key: key); + final List data =[ Colors.purple[50]!, Colors.purple[100]!, @@ -26,7 +28,7 @@ class SliverListDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [_buildSliverAppBar(), _buildSliverList()], @@ -43,7 +45,7 @@ class SliverListDemo extends StatelessWidget { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -58,14 +60,14 @@ class SliverListDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -76,13 +78,13 @@ class SliverListDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverOpacity/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverOpacity/node1_base.dart index f3e0c26..1e79a59 100644 --- a/lib/widget_system/widgets/Sliver/SliverOpacity/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverOpacity/node1_base.dart @@ -12,17 +12,19 @@ import 'package:flutter/material.dart'; // "【sliver】 : 子组件 【Function()】", // } class SliverOpacityDemo extends StatelessWidget { - final data = List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); + SliverOpacityDemo({Key? key}) : super(key: key); + + final List data = List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [ _buildSliverAppBar(), SliverPadding( - padding: EdgeInsets.only(top: 10), + padding: const EdgeInsets.only(top: 10), sliver: SliverOpacity(opacity: 0.2, sliver: _buildSliverGrid())) ], ), @@ -42,7 +44,7 @@ class SliverOpacityDemo extends StatelessWidget { color: e, child: Text( colorString(e), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -57,14 +59,14 @@ class SliverOpacityDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -75,13 +77,13 @@ class SliverOpacityDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverOverlapAbsorber/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverOverlapAbsorber/node1_base.dart index 6767c4d..78a39a2 100644 --- a/lib/widget_system/widgets/Sliver/SliverOverlapAbsorber/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverOverlapAbsorber/node1_base.dart @@ -15,11 +15,13 @@ import 'package:flutter/material.dart'; // } class SliverOverlapAbsorberDemo extends StatelessWidget { - final _tabs = ['风神传', '封妖志', "幻将录", "永恒传说"]; + const SliverOverlapAbsorberDemo({Key? key}) : super(key: key); + + final List _tabs = const ['风神传', '封妖志', "幻将录", "永恒传说"]; @override Widget build(BuildContext context) { - return Container( + return SizedBox( width: MediaQuery.of(context).size.width, height: MediaQuery.of(context).size.height - 200, child: Scaffold( @@ -70,22 +72,10 @@ class SliverOverlapAbsorberDemo extends StatelessWidget { key: PageStorageKey(name), slivers: [ SliverOverlapInjector( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - ), - SliverPadding( - padding: const EdgeInsets.all(8.0), - sliver: SliverFixedExtentList( - itemExtent: 48.0, - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - title: Text('《$name》 第 $index章'), - ); - }, - childCount: 50, - ), - ), + handle: NestedScrollView.sliverOverlapAbsorberHandleFor( + context), ), + buildContent(name), ], ); }, @@ -94,4 +84,19 @@ class SliverOverlapAbsorberDemo extends StatelessWidget { }).toList(), ); } + + Widget buildContent(String name) => SliverPadding( + padding: const EdgeInsets.all(8.0), + sliver: SliverFixedExtentList( + itemExtent: 48.0, + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + return ListTile( + title: Text('《$name》 第 $index章'), + ); + }, + childCount: 50, + ), + ), + ); } diff --git a/lib/widget_system/widgets/Sliver/SliverOverlapInjector/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverOverlapInjector/node1_base.dart index f0cb843..d9cdded 100644 --- a/lib/widget_system/widgets/Sliver/SliverOverlapInjector/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverOverlapInjector/node1_base.dart @@ -15,7 +15,9 @@ import 'package:flutter/material.dart'; // } class SliverOverlapInjectorDemo extends StatelessWidget { - final _tabs = ['风神传', '封妖志', "幻将录", "永恒传说"]; + const SliverOverlapInjectorDemo({Key? key}) : super(key: key); + + final List _tabs = const ['风神传', '封妖志', "幻将录", "永恒传说"]; @override Widget build(BuildContext context) { @@ -70,22 +72,10 @@ class SliverOverlapInjectorDemo extends StatelessWidget { key: PageStorageKey(name), slivers: [ SliverOverlapInjector( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - ), - SliverPadding( - padding: const EdgeInsets.all(8.0), - sliver: SliverFixedExtentList( - itemExtent: 48.0, - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - title: Text('《$name》 第 $index章'), - ); - }, - childCount: 50, - ), - ), + handle: NestedScrollView.sliverOverlapAbsorberHandleFor( + context), ), + buildContent(name), ], ); }, @@ -94,4 +84,19 @@ class SliverOverlapInjectorDemo extends StatelessWidget { }).toList(), ); } + + Widget buildContent(String name) => SliverPadding( + padding: const EdgeInsets.all(8.0), + sliver: SliverFixedExtentList( + itemExtent: 48.0, + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + return ListTile( + title: Text('《$name》 第 $index章'), + ); + }, + childCount: 50, + ), + ), + ); } diff --git a/lib/widget_system/widgets/Sliver/SliverPadding/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverPadding/node1_base.dart index f77e6e5..38cc53a 100644 --- a/lib/widget_system/widgets/Sliver/SliverPadding/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverPadding/node1_base.dart @@ -12,17 +12,21 @@ import 'package:flutter/material.dart'; // "【padding】 : 内边距 【EdgeInsetsGeometry】", // } class SliverPaddingDemo extends StatelessWidget { + SliverPaddingDemo({Key? key}) : super(key: key); + final data = List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( - slivers: [_buildSliverAppBar(), SliverPadding( - padding: EdgeInsets.only(top: 10), - sliver - : _buildSliverGrid())], + slivers: [ + _buildSliverAppBar(), + SliverPadding( + padding: const EdgeInsets.only(top: 10), + sliver: _buildSliverGrid()) + ], ), ); } @@ -40,12 +44,12 @@ class SliverPaddingDemo extends StatelessWidget { color: e, child: Text( colorString(e), - style: TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), + style: const TextStyle(color: Colors.white, shadows: [ + Shadow( + color: Colors.black, + offset: Offset(.5, .5), + blurRadius: 2) + ]), ), )) .toList(), @@ -55,14 +59,14 @@ class SliverPaddingDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -73,16 +77,16 @@ class SliverPaddingDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); - List _buildActions() => [ + List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( - Icons.star_border, - color: Colors.white, - ), + icon: const Icon( + Icons.star_border, + color: Colors.white, + ), ) ]; diff --git a/lib/widget_system/widgets/Sliver/SliverPersistentHeader/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverPersistentHeader/node1_base.dart index 1d6d515..bed043a 100644 --- a/lib/widget_system/widgets/Sliver/SliverPersistentHeader/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverPersistentHeader/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // "【pinned】 : 是否顶部停留 【bool】", // } class SliverPersistentHeaderDemo extends StatelessWidget { + SliverPersistentHeaderDemo({Key? key}) : super(key: key); + final List data = [ Colors.purple[50]!, Colors.purple[100]!, @@ -30,14 +32,14 @@ class SliverPersistentHeaderDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 500, child: CustomScrollView( slivers: [ _buildSliverAppBar(), - _buildPersistentHeader('袅缈岁月,青丝银发',Color(0xffe7fcc9)), + _buildPersistentHeader('袅缈岁月,青丝银发',const Color(0xffe7fcc9)), _buildCommonWidget(), - _buildPersistentHeader('以梦为马,不负韶华',Color(0xffcca4ff)), + _buildPersistentHeader('以梦为马,不负韶华',const Color(0xffcca4ff)), _buildSliverList() ], ), @@ -46,15 +48,15 @@ class SliverPersistentHeaderDemo extends StatelessWidget { Widget _buildCommonWidget() => SliverToBoxAdapter( child: Container( - padding: EdgeInsets.symmetric(horizontal: 10), + padding: const EdgeInsets.symmetric(horizontal: 10), color: Colors.grey.withAlpha(22), child: ListTile( leading: Image.asset("assets/images/icon_head.webp"), - title: Text("以梦为马"), - subtitle: Text("海子"), + title: const Text("以梦为马"), + subtitle: const Text("海子"), selected: true, - contentPadding: EdgeInsets.all(5), - trailing: Icon(Icons.more_vert), + contentPadding: const EdgeInsets.all(5), + trailing: const Icon(Icons.more_vert), ), ), ); @@ -66,7 +68,7 @@ class SliverPersistentHeaderDemo extends StatelessWidget { child: Container( color: color, child: Center( - child: Text(text, style: TextStyle( + child: Text(text, style: const TextStyle( fontSize: 18, shadows: [Shadow(color: Colors.white, offset: Offset(1, 1))]), ), @@ -82,7 +84,7 @@ class SliverPersistentHeaderDemo extends StatelessWidget { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -97,14 +99,14 @@ class SliverPersistentHeaderDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 2, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -115,13 +117,13 @@ class SliverPersistentHeaderDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), @@ -153,7 +155,7 @@ class _SliverDelegate extends SliverPersistentHeaderDelegate { @override Widget build( BuildContext context, double shrinkOffset, bool overlapsContent) { - return new SizedBox.expand(child: child); + return SizedBox.expand(child: child); } @override //是否需要重建 diff --git a/lib/widget_system/widgets/Sliver/SliverPrototypeExtentList/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverPrototypeExtentList/node1_base.dart index 0ee769c..c287986 100644 --- a/lib/widget_system/widgets/Sliver/SliverPrototypeExtentList/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverPrototypeExtentList/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【delegate】 : 孩子代理 【SliverChildDelegate】", // } class SliverPrototypeExtentListDemo extends StatefulWidget { + const SliverPrototypeExtentListDemo({Key? key}) : super(key: key); + @override _SliverPrototypeExtentListDemoState createState() => _SliverPrototypeExtentListDemoState(); @@ -34,7 +36,7 @@ class _SliverPrototypeExtentListDemoState @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [_buildSliverAppBar(), _buildSliverList()], @@ -54,7 +56,7 @@ class _SliverPrototypeExtentListDemoState color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -69,14 +71,14 @@ class _SliverPrototypeExtentListDemoState return SliverAppBar( expandedHeight: 150.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 5, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -87,13 +89,13 @@ class _SliverPrototypeExtentListDemoState } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverToBoxAdapter/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverToBoxAdapter/node1_base.dart index c00ff9d..dc89f20 100644 --- a/lib/widget_system/widgets/Sliver/SliverToBoxAdapter/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverToBoxAdapter/node1_base.dart @@ -11,6 +11,8 @@ import 'package:flutter/material.dart'; // "【child】 : 子组件 【Widget】", // } class SliverToBoxAdapterDemo extends StatelessWidget { + SliverToBoxAdapterDemo({Key? key}) : super(key: key); + final List data = [ Colors.purple[50]!, Colors.purple[100]!, @@ -26,7 +28,7 @@ class SliverToBoxAdapterDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 300, child: CustomScrollView( slivers: [ @@ -40,15 +42,15 @@ class SliverToBoxAdapterDemo extends StatelessWidget { Widget _buildCommonWidget() => SliverToBoxAdapter( child: Container( - padding: EdgeInsets.symmetric(horizontal: 10), + padding: const EdgeInsets.symmetric(horizontal: 10), color: Colors.grey.withAlpha(22), child: ListTile( leading: Image.asset("assets/images/icon_head.webp"), - title: Text("以梦为马"), - subtitle: Text("海子"), + title: const Text("以梦为马"), + subtitle: const Text("海子"), selected: true, - contentPadding: EdgeInsets.all(5), - trailing: Icon(Icons.more_vert), + contentPadding: const EdgeInsets.all(5), + trailing: const Icon(Icons.more_vert), ), ), ); @@ -62,7 +64,7 @@ class SliverToBoxAdapterDemo extends StatelessWidget { color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ + style: const TextStyle(color: Colors.white, shadows: [ Shadow( color: Colors.black, offset: Offset(.5, .5), @@ -77,14 +79,14 @@ class SliverToBoxAdapterDemo extends StatelessWidget { return SliverAppBar( expandedHeight: 190.0, leading: _buildLeading(), - title: Text('张风捷特烈'), + title: const Text('张风捷特烈'), actions: _buildActions(), elevation: 2, pinned: true, backgroundColor: Colors.orange, flexibleSpace: FlexibleSpaceBar( //伸展处布局 - titlePadding: EdgeInsets.only(left: 55, bottom: 15), //标题边距 + titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 collapseMode: CollapseMode.parallax, //视差效果 background: Image.asset( "assets/images/caver.webp", @@ -95,13 +97,13 @@ class SliverToBoxAdapterDemo extends StatelessWidget { } Widget _buildLeading() => Container( - margin: EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Image.asset('assets/images/icon_head.webp')); List _buildActions() => [ IconButton( onPressed: () {}, - icon: Icon( + icon: const Icon( Icons.star_border, color: Colors.white, ), diff --git a/lib/widget_system/widgets/Sliver/SliverWithKeepAliveWidget/node1_base.dart b/lib/widget_system/widgets/Sliver/SliverWithKeepAliveWidget/node1_base.dart index cd3d8a7..1e2ddc3 100644 --- a/lib/widget_system/widgets/Sliver/SliverWithKeepAliveWidget/node1_base.dart +++ b/lib/widget_system/widgets/Sliver/SliverWithKeepAliveWidget/node1_base.dart @@ -16,6 +16,8 @@ import 'package:flutter/material.dart'; class SliverWithKeepAliveWidgetDemo extends StatelessWidget { + const SliverWithKeepAliveWidgetDemo({Key? key}) : super(key: key); + final String info = '只有 SliverWithKeepAliveWidget 之下才可以包含 KeepAlive 组件, 由于其为抽象类,不能直接使用。其子类 SliverMultiBoxAdaptorWidget 也说抽象类,' '用于容纳多个孩子,帮助它的子类使用 SliverChildDelegate 构建懒加载 children。' @@ -27,8 +29,8 @@ class SliverWithKeepAliveWidgetDemo extends StatelessWidget { return Container( color: Theme.of(context).primaryColor.withOpacity(0.1), - padding: EdgeInsets.all(10), - margin: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Text(info), ); } diff --git a/lib/widget_system/widgets/StatefulWidget/AnimatedList/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/AnimatedList/node1_base.dart index def8bc9..03e4b34 100644 --- a/lib/widget_system/widgets/StatefulWidget/AnimatedList/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/AnimatedList/node1_base.dart @@ -160,7 +160,7 @@ class CardItem extends StatelessWidget { required this.animation, this.onTap, required this.item, - this.selected: false}) + this.selected = false}) : assert(item >= 0), super(key: key); final Animation animation; diff --git a/lib/widget_system/widgets/StatefulWidget/AnimatedSwitcher/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/AnimatedSwitcher/node1_base.dart index 966043e..6e7eca9 100644 --- a/lib/widget_system/widgets/StatefulWidget/AnimatedSwitcher/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/AnimatedSwitcher/node1_base.dart @@ -66,7 +66,7 @@ class _CustomAnimatedSwitcherState extends State { color: Colors.white, ), shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), onPressed: () => setState(() => _count -= 1)); } @@ -83,7 +83,7 @@ class _CustomAnimatedSwitcherState extends State { color: Colors.white, ), shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), onPressed: () => setState(() => _count += 1)); } diff --git a/lib/widget_system/widgets/StatefulWidget/CupertinoActivityIndicator/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/CupertinoActivityIndicator/node1_base.dart index 022fb9e..a3061e0 100644 --- a/lib/widget_system/widgets/StatefulWidget/CupertinoActivityIndicator/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/CupertinoActivityIndicator/node1_base.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-29 /// contact me by email 1981462002@qq.com /// 说明: diff --git a/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenu/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenu/node1_base.dart index b22a4c2..f18c45e 100644 --- a/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenu/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenu/node1_base.dart @@ -1,6 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - /// create by 张风捷特烈 on 2020-03-25 /// contact me by email 1981462002@qq.com diff --git a/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenuAction/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenuAction/node1_base.dart index f815a28..f8cdf6e 100644 --- a/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenuAction/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/CupertinoContextMenuAction/node1_base.dart @@ -12,7 +12,6 @@ // "【onPressed】 : 点击事件 【Function()】", // } import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; class CustomCupertinoContextMenuAction extends StatelessWidget { const CustomCupertinoContextMenuAction({Key? key}) : super(key: key); diff --git a/lib/widget_system/widgets/StatefulWidget/CupertinoSegmentedControl/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/CupertinoSegmentedControl/node1_base.dart index cda3f98..e2cd73a 100644 --- a/lib/widget_system/widgets/StatefulWidget/CupertinoSegmentedControl/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/CupertinoSegmentedControl/node1_base.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/6/30 /// contact me by email 1981462002@qq.com diff --git a/lib/widget_system/widgets/StatefulWidget/DecoratedBoxTransition/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/DecoratedBoxTransition/node1_base.dart index cb51dae..9f5defe 100644 --- a/lib/widget_system/widgets/StatefulWidget/DecoratedBoxTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/DecoratedBoxTransition/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-25 /// contact me by email 1981462002@qq.com diff --git a/lib/widget_system/widgets/StatefulWidget/DefaultTabController/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/DefaultTabController/node1_base.dart index 6b9571f..41e708e 100644 --- a/lib/widget_system/widgets/StatefulWidget/DefaultTabController/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/DefaultTabController/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/StatefulWidget/DefaultTextStyleTransition/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/DefaultTextStyleTransition/node1_base.dart index 4e9ae8d..fe912ac 100644 --- a/lib/widget_system/widgets/StatefulWidget/DefaultTextStyleTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/DefaultTextStyleTransition/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-25 /// contact me by email 1981462002@qq.com diff --git a/lib/widget_system/widgets/StatefulWidget/DraggableScrollableSheet/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/DraggableScrollableSheet/node1_base.dart index 80b07fe..2a4be82 100644 --- a/lib/widget_system/widgets/StatefulWidget/DraggableScrollableSheet/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/DraggableScrollableSheet/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/StatefulWidget/DrawerController/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/DrawerController/node1_base.dart index fea8d3e..e0dc5d6 100644 --- a/lib/widget_system/widgets/StatefulWidget/DrawerController/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/DrawerController/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; diff --git a/lib/widget_system/widgets/StatefulWidget/EditableText/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/EditableText/node1_base.dart index 8fa16f5..35b4836 100644 --- a/lib/widget_system/widgets/StatefulWidget/EditableText/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/EditableText/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/StatefulWidget/Form/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Form/node1_base.dart index 012cd28..572c16e 100644 --- a/lib/widget_system/widgets/StatefulWidget/Form/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Form/node1_base.dart @@ -69,7 +69,7 @@ class _CustomFormState extends State { return RaisedButton( color: Colors.blue, shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), onPressed: _onSubmit, child: const Icon( diff --git a/lib/widget_system/widgets/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart index 0ca5cf0..efd8768 100644 --- a/lib/widget_system/widgets/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/StatefulWidget/Hero/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Hero/node1_base.dart index 991cd7c..becfdb4 100644 --- a/lib/widget_system/widgets/StatefulWidget/Hero/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Hero/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-29 diff --git a/lib/widget_system/widgets/StatefulWidget/InputDecorator/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/InputDecorator/node1_base.dart index 9a34c20..0990e86 100644 --- a/lib/widget_system/widgets/StatefulWidget/InputDecorator/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/InputDecorator/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node1_base.dart index 099d391..df770f1 100644 --- a/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node2_constrained.dart b/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node2_constrained.dart index 7548920..18b915e 100644 --- a/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node2_constrained.dart +++ b/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node2_constrained.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node3_controller.dart b/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node3_controller.dart index ec176ef..bf6d633 100644 --- a/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node3_controller.dart +++ b/lib/widget_system/widgets/StatefulWidget/InteractiveViewer/node3_controller.dart @@ -1,5 +1,3 @@ - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 @@ -116,7 +114,7 @@ class _InteractiveViewerDemo3State extends State onPressed: _animateResetInitialize); } - var _x = 0.0; + final double _x = 0.0; Widget _buildButton2() { return MaterialButton( diff --git a/lib/widget_system/widgets/StatefulWidget/MergeableMaterial/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/MergeableMaterial/node1_base.dart index fdf4b9b..1847216 100644 --- a/lib/widget_system/widgets/StatefulWidget/MergeableMaterial/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/MergeableMaterial/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/StatefulWidget/MouseRegion/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/MouseRegion/node1_base.dart index 7fc1528..e5f7a6d 100644 --- a/lib/widget_system/widgets/StatefulWidget/MouseRegion/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/MouseRegion/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/7/22 diff --git a/lib/widget_system/widgets/StatefulWidget/Overlay/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Overlay/node1_base.dart index b3479ab..03e178f 100644 --- a/lib/widget_system/widgets/StatefulWidget/Overlay/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Overlay/node1_base.dart @@ -23,7 +23,7 @@ class CustomOverlay extends StatelessWidget { child: RawMaterialButton( elevation: 2, shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), fillColor: Colors.blue, splashColor: Colors.orange, @@ -37,7 +37,7 @@ class CustomOverlay extends StatelessWidget { child: RawMaterialButton( elevation: 2, shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), fillColor: Colors.red, splashColor: Colors.orange, diff --git a/lib/widget_system/widgets/StatefulWidget/PaginatedDataTable/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/PaginatedDataTable/node1_base.dart index e7e516d..9735693 100644 --- a/lib/widget_system/widgets/StatefulWidget/PaginatedDataTable/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/PaginatedDataTable/node1_base.dart @@ -198,10 +198,10 @@ class DessertDataSource extends DataTableSource { } }, cells: [ - DataCell(Center(child: Text('${dessert.name}'))), - DataCell(Center(child: Text('${dessert.calories}'))), - DataCell(Center(child: Text('${dessert.fat}'))), - DataCell(Center(child: Text('${dessert.carbs}'))), + DataCell(Center(child: Text(dessert.name))), + DataCell(Center(child: Text(dessert.calories))), + DataCell(Center(child: Text(dessert.fat))), + DataCell(Center(child: Text(dessert.carbs))), ]); } diff --git a/lib/widget_system/widgets/StatefulWidget/RawChip/node1_press.dart b/lib/widget_system/widgets/StatefulWidget/RawChip/node1_press.dart index 6b1ad03..cd1c437 100644 --- a/lib/widget_system/widgets/StatefulWidget/RawChip/node1_press.dart +++ b/lib/widget_system/widgets/StatefulWidget/RawChip/node1_press.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-26 diff --git a/lib/widget_system/widgets/StatefulWidget/RawChip/node2_select.dart b/lib/widget_system/widgets/StatefulWidget/RawChip/node2_select.dart index 987a87a..8949f86 100644 --- a/lib/widget_system/widgets/StatefulWidget/RawChip/node2_select.dart +++ b/lib/widget_system/widgets/StatefulWidget/RawChip/node2_select.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-26 diff --git a/lib/widget_system/widgets/StatefulWidget/RawGestureDetector/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/RawGestureDetector/node1_base.dart index 948f31c..5b5c2a5 100644 --- a/lib/widget_system/widgets/StatefulWidget/RawGestureDetector/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/RawGestureDetector/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; diff --git a/lib/widget_system/widgets/StatefulWidget/RawKeyboardListener/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/RawKeyboardListener/node1_base.dart index dbd4624..619b6ae 100644 --- a/lib/widget_system/widgets/StatefulWidget/RawKeyboardListener/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/RawKeyboardListener/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; diff --git a/lib/widget_system/widgets/StatefulWidget/RawMaterialButton/node2_shape.dart b/lib/widget_system/widgets/StatefulWidget/RawMaterialButton/node2_shape.dart index 683084f..8fb42d2 100644 --- a/lib/widget_system/widgets/StatefulWidget/RawMaterialButton/node2_shape.dart +++ b/lib/widget_system/widgets/StatefulWidget/RawMaterialButton/node2_shape.dart @@ -23,7 +23,7 @@ class ShapeRawMaterialButton extends StatelessWidget { RawMaterialButton( elevation: 2, shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), fillColor: Colors.green, splashColor: Colors.orange, @@ -47,7 +47,7 @@ class ShapeRawMaterialButton extends StatelessWidget { RawMaterialButton( elevation: 2, shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), fillColor: Colors.red, splashColor: Colors.orange, diff --git a/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node1_base.dart index 1d2b32f..4a348d6 100644 --- a/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node1_base.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "【onReorder】 : 调换时回调 【ReorderCallback】", // } class CustomReorderableListView extends StatefulWidget { + const CustomReorderableListView({Key? key}) : super(key: key); + @override _CustomReorderableListViewState createState() => _CustomReorderableListViewState(); } @@ -35,15 +37,15 @@ final List data = [ @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 250, child: ReorderableListView( - padding: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), header: Container( color: Colors.blue, alignment: Alignment.center, height: 50, - child: Text('长按拖拽进行换位',style: TextStyle(color: Colors.white),)), + child: const Text('长按拖拽进行换位',style: TextStyle(color: Colors.white),)), onReorder: _handleReorder, children: data.map((color) => _buildItem(color)).toList(), ), @@ -70,8 +72,8 @@ final List data = [ color: color, child: Text( colorString(color), - style: TextStyle(color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) + style: const TextStyle(color: Colors.white, shadows: [ + Shadow(color: Colors.black, offset: const Offset(.5, .5), blurRadius: 2) ]), ), ); diff --git a/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node2_direction.dart b/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node2_direction.dart index 14b26d4..d461294 100644 --- a/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node2_direction.dart +++ b/lib/widget_system/widgets/StatefulWidget/ReorderableListView/node2_direction.dart @@ -13,8 +13,11 @@ import 'package:flutter/material.dart'; // "【reverse】 : 是否反向 【bool】", // } class DirectionReorderableListView extends StatefulWidget { + const DirectionReorderableListView({Key? key}) : super(key: key); + @override - _DirectionReorderableListViewState createState() => _DirectionReorderableListViewState(); + _DirectionReorderableListViewState createState() => + _DirectionReorderableListViewState(); } class _DirectionReorderableListViewState extends State { @@ -33,7 +36,7 @@ class _DirectionReorderableListViewState extends State】", // } class CustomRotationTransition extends StatefulWidget { + const CustomRotationTransition({Key? key}) : super(key: key); + @override _CustomRotationTransitionState createState() => _CustomRotationTransitionState(); } diff --git a/lib/widget_system/widgets/StatefulWidget/Scaffold/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Scaffold/node1_base.dart index 2c221c1..0cfbf92 100755 --- a/lib/widget_system/widgets/StatefulWidget/Scaffold/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Scaffold/node1_base.dart @@ -18,7 +18,7 @@ import '../PopupMenuButton/node1_base.dart'; // "【floatingActionButtonLocation】 : 浮动按钮位置 【FloatingActionButtonLocation】", // } class CustomScaffold extends StatefulWidget { - CustomScaffold({Key? key}) : super(key: key); + const CustomScaffold({Key? key}) : super(key: key); @override State createState() => _CustomScaffoldState(); @@ -26,16 +26,16 @@ class CustomScaffold extends StatefulWidget { // AppBar 默认的实例,有状态 class _CustomScaffoldState extends State with SingleTickerProviderStateMixin { - final tabs = ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; - var _position = 0; - final iconsMap = { + final List tabs = const ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; + int _position = 0; + final Map iconsMap = { "图鉴": Icons.home, "动态": Icons.toys, "喜欢": Icons.favorite, "手册": Icons.class_, "我的": Icons.account_circle, }; - final _colors = [ + final List _colors = [ Colors.blue, Colors.red, Colors.yellow, @@ -59,22 +59,22 @@ class _CustomScaffoldState extends State with SingleTickerProviderStateMixin { @override Widget build(BuildContext context) { - return Container( + return SizedBox( width: MediaQuery.of(context).size.width, height: MediaQuery.of(context).size.height - 300, child: Scaffold( floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, floatingActionButton: FloatingActionButton( - child: Icon(Icons.add), + child: const Icon(Icons.add), onPressed: () {}, ), drawer: _buildLeftDrawer(), endDrawer: _buildLeftDrawer(), appBar: AppBar( - title: Text('风雅六社'), + title: const Text('风雅六社'), backgroundColor: Colors.blue, centerTitle: true, - actions: [Icon(Icons.star), CustomPopupMenuButton()], + actions: const [Icon(Icons.star), CustomPopupMenuButton()], bottom: _buildTabBar(), ), body: _buildTableBarView(), @@ -104,7 +104,7 @@ class _CustomScaffoldState extends State with SingleTickerProviderStateMixin { elevation: 1, backgroundColor: Colors.white, iconSize: 25, - selectedLabelStyle: TextStyle(fontWeight: FontWeight.bold), + selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold), showUnselectedLabels: false, showSelectedLabels: true, items: iconsMap.keys @@ -121,7 +121,7 @@ class _CustomScaffoldState extends State with SingleTickerProviderStateMixin { .map((e) => Center( child: Text( e, - style: TextStyle(color: Colors.blue, fontSize: 20), + style: const TextStyle(color: Colors.blue, fontSize: 20), ))) .toList()); } diff --git a/lib/widget_system/widgets/StatefulWidget/ScaleTransition/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/ScaleTransition/node1_base.dart index d308161..9afc2af 100644 --- a/lib/widget_system/widgets/StatefulWidget/ScaleTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/ScaleTransition/node1_base.dart @@ -11,6 +11,8 @@ import 'package:flutter/material.dart'; // "【scale】 : 动画 【Animation】", // } class CustomScaleTransition extends StatefulWidget { + const CustomScaleTransition({Key? key}) : super(key: key); + @override _CustomScaleTransitionState createState() => _CustomScaleTransitionState(); } @@ -21,7 +23,7 @@ class _CustomScaleTransitionState extends State @override void initState() { - _ctrl = AnimationController(vsync: this, duration: Duration(seconds: 2)); + _ctrl = AnimationController(vsync: this, duration: const Duration(seconds: 2)); _ctrl.forward(); super.initState(); } @@ -42,7 +44,7 @@ class _CustomScaleTransitionState extends State height: 100, child: ScaleTransition( scale: CurvedAnimation(parent: _ctrl, curve: Curves.linear), - child: Icon(Icons.android, color: Colors.green, size: 60), + child: const Icon(Icons.android, color: Colors.green, size: 60), ), )); } diff --git a/lib/widget_system/widgets/StatefulWidget/Scrollable/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Scrollable/node1_base.dart index 229d1de..e0307c5 100644 --- a/lib/widget_system/widgets/StatefulWidget/Scrollable/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Scrollable/node1_base.dart @@ -19,15 +19,17 @@ import 'package:flutter/rendering.dart'; // } class ScrollableDemo extends StatelessWidget { - final data = List.generate(32, (i) => Color(0xFF6600FF - 2 * i)); + ScrollableDemo({Key? key}) : super(key: key); + + final List data = List.generate(32, (i) => Color(0xFF6600FF - 2 * i)); @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 250, child: Scrollable( axisDirection: AxisDirection.down, - physics: BouncingScrollPhysics(), + physics: const BouncingScrollPhysics(), dragStartBehavior: DragStartBehavior.start, viewportBuilder: (ctx, position) => Viewport( cacheExtent: 200, @@ -42,19 +44,22 @@ class ScrollableDemo extends StatelessWidget { Widget _buildSliverList() => SliverList( delegate: SliverChildBuilderDelegate( (_, int index) => Container( - margin: EdgeInsets.only(top: 1), + margin: const EdgeInsets.only(top: 1), alignment: Alignment.center, width: 100, height: 60, color: data[index], child: Text( colorString(data[index]), - style: TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), + style: const TextStyle( + color: Colors.white, + shadows: [ + Shadow( + color: Colors.black, + offset: Offset(.5, .5), + blurRadius: 2) + ], + ), ), ), childCount: data.length), diff --git a/lib/widget_system/widgets/StatefulWidget/Scrollbar/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Scrollbar/node1_base.dart index 10b7cd0..97fff91 100644 --- a/lib/widget_system/widgets/StatefulWidget/Scrollbar/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Scrollbar/node1_base.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【controller】 : 控制器 【ScrollController】", // } class CustomScrollbar extends StatelessWidget { + CustomScrollbar({Key? key}) : super(key: key); + final List data = [ Colors.purple[50]!, Colors.purple[100]!, @@ -27,27 +29,30 @@ class CustomScrollbar extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 200, child: Scrollbar( child: ListView( - padding: EdgeInsets.symmetric(horizontal: 5), + padding: const EdgeInsets.symmetric(horizontal: 5), children: data .map((color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - )) + alignment: Alignment.center, + width: 100, + height: 50, + color: color, + child: Text( + colorString(color), + style: const TextStyle( + color: Colors.white, + shadows: [ + Shadow( + color: Colors.black, + offset: Offset(.5, .5), + blurRadius: 2) + ], + ), + ), + )) .toList(), ), ), diff --git a/lib/widget_system/widgets/StatefulWidget/SelectableText/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/SelectableText/node1_base.dart index 354dca8..398040c 100644 --- a/lib/widget_system/widgets/StatefulWidget/SelectableText/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/SelectableText/node1_base.dart @@ -16,7 +16,9 @@ import 'package:flutter/material.dart'; // "【autofocus】 : 自动聚焦 【bool】", // } class CustomSelectableText extends StatelessWidget { - final text = " 始臣之解牛之时,所见无非牛者。三年之后,未尝见全牛也。方今之时," + const CustomSelectableText({Key? key}) : super(key: key); + + final String text = " 始臣之解牛之时,所见无非牛者。三年之后,未尝见全牛也。方今之时," "臣以神遇而不以目视,官知止而神欲行。依乎天理,批大郤,导大窾,因其固然," "技经肯綮之未尝,而况大軱乎!良庖岁更刀,割也;族庖月更刀,折也。" "今臣之刀十九年矣,所解数千牛矣,而刀刃若新发于硎。彼节者有间,而刀刃者无厚;" @@ -28,9 +30,9 @@ class CustomSelectableText extends StatelessWidget { Widget build(BuildContext context) { return SelectableText( text, - style: TextStyle(fontSize: 18, color: Colors.orange), + style: const TextStyle(fontSize: 18, color: Colors.orange), cursorColor: Colors.green, - cursorRadius: Radius.circular(3), + cursorRadius: const Radius.circular(3), cursorWidth: 5, showCursor: true, autofocus: false, diff --git a/lib/widget_system/widgets/StatefulWidget/SelectableText/node2_align.dart b/lib/widget_system/widgets/StatefulWidget/SelectableText/node2_align.dart index 96f4d82..edfe022 100644 --- a/lib/widget_system/widgets/StatefulWidget/SelectableText/node2_align.dart +++ b/lib/widget_system/widgets/StatefulWidget/SelectableText/node2_align.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【textDirection】 : 文字方向*2 【TextDirection】", // } class AlignSelectableText extends StatefulWidget { + const AlignSelectableText({Key? key}) : super(key: key); + @override _AlignSelectableTextState createState() => _AlignSelectableTextState(); } @@ -30,14 +32,13 @@ class _AlignSelectableTextState extends State { _buildSelector(), SelectableText( text, - style: TextStyle(fontSize: 18, color: Colors.red), + style: const TextStyle(fontSize: 18, color: Colors.red), cursorColor: Colors.green, - cursorRadius: Radius.circular(3), + cursorRadius: const Radius.circular(3), cursorWidth: 5, showCursor: true, textAlign: _textAlign, textDirection: TextDirection.ltr, - autofocus: false, ), ], @@ -48,10 +49,13 @@ class _AlignSelectableTextState extends State { return Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - Text( + const Text( "textAlign属性选择:", style: TextStyle( - fontSize: 16, color: Colors.blue, fontWeight: FontWeight.bold), + fontSize: 16, + color: Colors.blue, + fontWeight: FontWeight.bold, + ), ), DropdownButton( underline: Container(), diff --git a/lib/widget_system/widgets/StatefulWidget/SizeTransition/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/SizeTransition/node1_base.dart index d0cf9c3..a196c71 100644 --- a/lib/widget_system/widgets/StatefulWidget/SizeTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/SizeTransition/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-31 /// contact me by email 1981462002@qq.com @@ -13,6 +12,8 @@ import 'package:flutter/material.dart'; // "【sizeFactor】 : 动画 【Animation】", // } class CustomSizeTransition extends StatefulWidget { + const CustomSizeTransition({Key? key}) : super(key: key); + @override _CustomSizeTransitionState createState() => _CustomSizeTransitionState(); } @@ -23,7 +24,8 @@ class _CustomSizeTransitionState extends State @override void initState() { - _ctrl = AnimationController(vsync: this, duration: Duration(seconds: 1)); + _ctrl = + AnimationController(vsync: this, duration: const Duration(seconds: 1)); _ctrl.forward(); super.initState(); } @@ -47,7 +49,8 @@ class _CustomSizeTransitionState extends State child: Container( width: MediaQuery.of(context).size.width, color: Colors.orange, - child: Icon(Icons.android, color: Colors.green, size: 80)), + child: + const Icon(Icons.android, color: Colors.green, size: 80)), ), SizeTransition( axis: Axis.vertical, @@ -55,7 +58,8 @@ class _CustomSizeTransitionState extends State child: Container( width: MediaQuery.of(context).size.width, color: Colors.orange, - child: Icon(Icons.android, color: Colors.green, size: 80)), + child: + const Icon(Icons.android, color: Colors.green, size: 80)), ), ], ), diff --git a/lib/widget_system/widgets/StatefulWidget/SlideTransition/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/SlideTransition/node1_base.dart index 198cbc3..4bf9ceb 100644 --- a/lib/widget_system/widgets/StatefulWidget/SlideTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/SlideTransition/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/4/30 /// contact me by email 1981462002@qq.com @@ -13,6 +12,8 @@ import 'package:flutter/material.dart'; // "【position】 : 动画 【Animation】", // } class CustomSlideTransition extends StatefulWidget { + const CustomSlideTransition({Key? key}) : super(key: key); + @override _CustomSlideTransitionState createState() => _CustomSlideTransitionState(); } @@ -32,7 +33,7 @@ class _CustomSlideTransitionState extends State animation = Tween( begin: Offset.zero, - end: Offset(0.5, 0.5), + end: const Offset(0.5, 0.5), ).animate(_ctrl); } diff --git a/lib/widget_system/widgets/StatefulWidget/Slider/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Slider/node1_base.dart index 720d781..278635c 100644 --- a/lib/widget_system/widgets/StatefulWidget/Slider/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Slider/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // "【onChanged】 : 改变时回调 【Function(double)】", // } class CustomSlider extends StatefulWidget { + const CustomSlider({Key? key}) : super(key: key); + @override _CustomSliderState createState() => _CustomSliderState(); } @@ -33,12 +35,14 @@ class _CustomSliderState extends State { max: 360.0, activeColor: Colors.orangeAccent, inactiveColor: Colors.green.withAlpha(99), - onChanged: (value) { - setState(() { - _value = value; - }); - }), + onChanged: _onChange), ], ); } + + void _onChange(value) { + setState(() { + _value = value; + }); + } } diff --git a/lib/widget_system/widgets/StatefulWidget/Slider/node2_lable.dart b/lib/widget_system/widgets/StatefulWidget/Slider/node2_lable.dart index 86f8901..e11d522 100644 --- a/lib/widget_system/widgets/StatefulWidget/Slider/node2_lable.dart +++ b/lib/widget_system/widgets/StatefulWidget/Slider/node2_lable.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "【onChangeEnd】 : 滑动结束时监听 【Function(double)】", // } class DivisionsSlider extends StatefulWidget { + const DivisionsSlider({Key? key}) : super(key: key); + @override _DivisionsSliderState createState() => _DivisionsSliderState(); } @@ -28,7 +30,7 @@ class _DivisionsSliderState extends State { min: 0.0, max: 360.0, divisions: 10, - label: '${_value.toStringAsFixed(1)}', + label: _value.toStringAsFixed(1), activeColor: Colors.orangeAccent, inactiveColor: Colors.green.withAlpha(99), onChangeStart: (value) { diff --git a/lib/widget_system/widgets/StatefulWidget/StatefulBuilder/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/StatefulBuilder/node1_base.dart index 9725373..a40aa0e 100644 --- a/lib/widget_system/widgets/StatefulWidget/StatefulBuilder/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/StatefulBuilder/node1_base.dart @@ -1,4 +1,4 @@ -import 'package:flutter/cupertino.dart'; + import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 @@ -13,20 +13,20 @@ import 'package:flutter/material.dart'; // } class StatefulBuilderDemo extends StatelessWidget { + const StatefulBuilderDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { int count = 0; - return Container( - child: StatefulBuilder( - builder: (ctx, setState) => ElevatedButton( - child: Text("当前数字: $count"), - onPressed: () { - setState(() { - count++; - }); - }, - ), + return StatefulBuilder( + builder: (ctx, setState) => ElevatedButton( + child: Text("当前数字: $count"), + onPressed: () { + setState(() { + count++; + }); + }, ), ); } diff --git a/lib/widget_system/widgets/StatefulWidget/StatusTransitionWidget/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/StatusTransitionWidget/node1_base.dart index d56bbff..137de51 100644 --- a/lib/widget_system/widgets/StatefulWidget/StatusTransitionWidget/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/StatusTransitionWidget/node1_base.dart @@ -16,8 +16,11 @@ import 'package:flutter/material.dart'; class StatusTransitionWidgetDemo extends StatefulWidget { + const StatusTransitionWidgetDemo({Key? key}) : super(key: key); + @override - _StatusTransitionWidgetDemoState createState() => _StatusTransitionWidgetDemoState(); + _StatusTransitionWidgetDemoState createState() => + _StatusTransitionWidgetDemoState(); } class _StatusTransitionWidgetDemoState extends State @@ -27,7 +30,10 @@ class _StatusTransitionWidgetDemoState extends State @override void initState() { super.initState(); - _ctrl = AnimationController(vsync: this, duration: Duration(seconds: 1))..forward(); + _ctrl = AnimationController( + vsync: this, + duration: const Duration(seconds: 1), + )..forward(); } @override @@ -46,7 +52,7 @@ class _StatusTransitionWidgetDemoState extends State class ColorStatusTransitionWidget extends StatusTransitionWidget { final Animation animation; - ColorStatusTransitionWidget({Key? key,required this.animation}) + const ColorStatusTransitionWidget({Key? key,required this.animation}) : super(key: key, animation: animation); @override diff --git a/lib/widget_system/widgets/StatefulWidget/Stepper/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Stepper/node1_base.dart index 2b9ea7e..45f7f8a 100644 --- a/lib/widget_system/widgets/StatefulWidget/Stepper/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Stepper/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // "【controlsBuilder】 : 控制器构造 【ControlsWidgetBuilder】", // } class StepperDemo extends StatefulWidget { + const StepperDemo({Key? key}) : super(key: key); + @override _StepperDemoState createState() => _StepperDemoState(); } @@ -22,16 +24,16 @@ class StepperDemo extends StatefulWidget { class _StepperDemoState extends State { int _position = 0; - final stepsData = { - "填写表单":'请按表单填写个人信息。', - "邮箱校验":'已将邮件发送至您的邮箱,请按照相关指示对您的账号进行邮箱校验。', - "注册完成":'恭喜您,注册完成!', + final Map stepsData = { + "填写表单": '请按表单填写个人信息。', + "邮箱校验": '已将邮件发送至您的邮箱,请按照相关指示对您的账号进行邮箱校验。', + "注册完成": '恭喜您,注册完成!', }; - final steps = [ + final List steps = const [ Step( title: Text("填写表单"), - content: Container(height: 60, child: Text("请按表单填写个人信息")), + content: SizedBox(height: 60, child: Text("请按表单填写个人信息")), ), Step(title: Text("邮箱校验"), content: Text("请对您的账号进行邮箱校验")), Step(title: Text("注册完成"), content: Text("恭喜您,注册完成")), @@ -39,10 +41,10 @@ class _StepperDemoState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 200, child: Stepper( - type:StepperType.horizontal, + type: StepperType.horizontal, currentStep: _position, onStepTapped: (index) { setState(() { @@ -68,22 +70,23 @@ class _StepperDemoState extends State { children: [ RaisedButton( color: Colors.blue, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + shape: const CircleBorder( + side: BorderSide( + width: 2.0, color: const Color(0xFFDFDFDF)), ), onPressed: details.onStepContinue, - child: Icon( + child: const Icon( Icons.check, color: Colors.white, ), ), RaisedButton( color: Colors.red, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), onPressed: details.onStepCancel, - child: Icon( + child: const Icon( Icons.keyboard_backspace, color: Colors.white, ), @@ -97,12 +100,13 @@ class _StepperDemoState extends State { title: Text(e,style: TextStyle(color: isActive?Colors.blue:Colors.black),), isActive: isActive, state: _getState(stepsData.keys.toList().indexOf(e)), - content: Container(height: 60, child: Text(stepsData[e]!)), + content: SizedBox(height: 60, child: Text(stepsData[e]!)), ); }).toList()), ); } - _getState(index){ + + StepState _getState(index){ if(_position==index) return StepState.editing; if(_position>index) return StepState.complete; return StepState.indexed; diff --git a/lib/widget_system/widgets/StatefulWidget/Stepper/node2_type.dart b/lib/widget_system/widgets/StatefulWidget/Stepper/node2_type.dart index 6a4bb20..876edf8 100644 --- a/lib/widget_system/widgets/StatefulWidget/Stepper/node2_type.dart +++ b/lib/widget_system/widgets/StatefulWidget/Stepper/node2_type.dart @@ -12,6 +12,8 @@ import 'package:flutter/material.dart'; // "【type】 : 方向 【StepperType】", // } class VerticalStepper extends StatefulWidget { + const VerticalStepper({Key? key}) : super(key: key); + @override _VerticalStepperState createState() => _VerticalStepperState(); } @@ -25,10 +27,10 @@ class _VerticalStepperState extends State { "注册完成": '恭喜您,注册完成!', }; - final List steps = [ + final List steps = const[ Step( title: Text("填写表单"), - content: Container(height: 60, child: Text("请按表单填写个人信息")), + content: SizedBox(height: 60, child: Text("请按表单填写个人信息")), ), Step(title: Text("邮箱校验"), content: Text("请对您的账号进行邮箱校验")), Step(title: Text("注册完成"), content: Text("恭喜您,注册完成")), @@ -36,73 +38,71 @@ class _VerticalStepperState extends State { @override Widget build(BuildContext context) { - return Container( - child: Stepper( - type: StepperType.vertical, - currentStep: _position, - onStepTapped: (index) { - setState(() { - _position = index; - }); - }, - onStepContinue: () { - setState(() { - if (_position < 2) { - _position++; - } - }); - }, - onStepCancel: () { - if (_position > 0) { - setState(() { - _position--; - }); + return Stepper( + type: StepperType.vertical, + currentStep: _position, + onStepTapped: (index) { + setState(() { + _position = index; + }); + }, + onStepContinue: () { + setState(() { + if (_position < 2) { + _position++; } - }, - controlsBuilder: (_,ControlsDetails details) { - return Row( - children: [ - RaisedButton( - color: Colors.blue, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), - ), - onPressed: details.onStepContinue, - child: Icon( - Icons.check, - color: Colors.white, - ), + }); + }, + onStepCancel: () { + if (_position > 0) { + setState(() { + _position--; + }); + } + }, + controlsBuilder: (_,ControlsDetails details) { + return Row( + children: [ + RaisedButton( + color: Colors.blue, + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), - RaisedButton( - color: Colors.red, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), - ), - onPressed: details.onStepCancel, - child: Icon( - Icons.keyboard_backspace, - color: Colors.white, - ), + onPressed: details.onStepContinue, + child: const Icon( + Icons.check, + color: Colors.white, ), - ], - ); - }, - steps: stepsData.keys.map((e) { - bool isActive = stepsData.keys.toList().indexOf(e) == _position; - return Step( - title: Text( - e, - style: TextStyle(color: isActive ? Colors.blue : Colors.black), ), - isActive: isActive, - state: _getState(stepsData.keys.toList().indexOf(e)), - content: Container(height: 60, child: Text(stepsData[e]!)), - ); - }).toList()), - ); + RaisedButton( + color: Colors.red, + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), + ), + onPressed: details.onStepCancel, + child: const Icon( + Icons.keyboard_backspace, + color: Colors.white, + ), + ), + ], + ); + }, + steps: stepsData.keys.map((e) { + bool isActive = stepsData.keys.toList().indexOf(e) == _position; + return Step( + title: Text( + e, + style: TextStyle(color: isActive ? Colors.blue : Colors.black), + ), + isActive: isActive, + state: _getState(stepsData.keys.toList().indexOf(e)), + content: SizedBox(height: 60, child: Text(stepsData[e]!)), + ); + }).toList()); } - _getState(index) { + StepState _getState(index) { if (_position == index) return StepState.editing; if (_position > index) return StepState.complete; return StepState.indexed; diff --git a/lib/widget_system/widgets/StatefulWidget/StreamBuilder/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/StreamBuilder/node1_base.dart index dde33ef..14dbdba 100644 --- a/lib/widget_system/widgets/StatefulWidget/StreamBuilder/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/StreamBuilder/node1_base.dart @@ -16,12 +16,14 @@ import 'package:flutter/material.dart'; // "【builder】 : 点击事件 【AsyncWidgetBuilder】", // } class CustomStreamBuilder extends StatefulWidget { + const CustomStreamBuilder({Key? key}) : super(key: key); + @override _CustomStreamBuilderState createState() => _CustomStreamBuilderState(); } class _CustomStreamBuilderState extends State { - CountGenerator _generator = CountGenerator()..increment(); + final CountGenerator _generator = CountGenerator()..increment(); @override void dispose() { @@ -31,39 +33,37 @@ class _CustomStreamBuilderState extends State { @override Widget build(BuildContext context) { - return Container( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - FlatButton( - color: Colors.blue, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), - ), - child: Icon( - Icons.add, - color: Colors.white, - ), - onPressed: () async { - await _generator.increment(); - }, + return Row( + mainAxisSize: MainAxisSize.min, + children: [ + FlatButton( + color: Colors.blue, + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), - _buildStreamBuilder(), - FlatButton( - color: Colors.blue, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), - ), - child: Icon( - Icons.remove, - color: Colors.white, - ), - onPressed: () async { - await _generator.minus(); - }, + child: const Icon( + Icons.add, + color: Colors.white, ), - ], - ), + onPressed: () async { + await _generator.increment(); + }, + ), + _buildStreamBuilder(), + FlatButton( + color: Colors.blue, + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), + ), + child: const Icon( + Icons.remove, + color: Colors.white, + ), + onPressed: () async { + await _generator.minus(); + }, + ), + ], ); } @@ -72,7 +72,7 @@ class _CustomStreamBuilderState extends State { builder: (BuildContext context, AsyncSnapshot snap) { print(snap); if (snap.connectionState == ConnectionState.done) { - return Text('Done'); + return const Text('Done'); } if (snap.connectionState == ConnectionState.active) { return Text( @@ -81,10 +81,10 @@ class _CustomStreamBuilderState extends State { ); } if (snap.connectionState == ConnectionState.waiting) { - return CircularProgressIndicator(); + return const CircularProgressIndicator(); } if (snap.hasError) { - return Text('Error'); + return const Text('Error'); } return Container(); }); diff --git a/lib/widget_system/widgets/StatefulWidget/Switch/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Switch/node1_base.dart index 1fc7cbc..6542127 100644 --- a/lib/widget_system/widgets/StatefulWidget/Switch/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Switch/node1_base.dart @@ -17,12 +17,19 @@ import 'package:flutter/material.dart'; // " onChanged时,回调true、null、false三种状态", // } class CustomSwitch extends StatefulWidget { + const CustomSwitch({Key? key}) : super(key: key); + @override _CustomSwitchState createState() => _CustomSwitchState(); } class _CustomSwitchState extends State { - final colors = [Colors.red, Colors.yellow, Colors.blue, Colors.green]; + final List colors = const[ + Colors.red, + Colors.yellow, + Colors.blue, + Colors.green + ]; bool _checked = false; @override @@ -30,8 +37,7 @@ class _CustomSwitchState extends State { return Wrap( spacing: 10, children: colors - .map((e) => - Switch( + .map((e) => Switch( value: _checked, inactiveThumbColor: e, inactiveTrackColor: Colors.grey.withAlpha(88), diff --git a/lib/widget_system/widgets/StatefulWidget/Switch/node2_image.dart b/lib/widget_system/widgets/StatefulWidget/Switch/node2_image.dart index 42a28d6..6551093 100644 --- a/lib/widget_system/widgets/StatefulWidget/Switch/node2_image.dart +++ b/lib/widget_system/widgets/StatefulWidget/Switch/node2_image.dart @@ -18,11 +18,12 @@ class ImageSwitch extends StatefulWidget { } class _ImageSwitchState extends State { - final imgs = [ + final List imgs = const [ "assets/images/head_icon/icon_5.webp", "assets/images/head_icon/icon_6.webp", "assets/images/head_icon/icon_7.webp", - "assets/images/head_icon/icon_8.webp"]; + "assets/images/head_icon/icon_8.webp" + ]; bool _checked = false; @override @@ -34,7 +35,7 @@ class _ImageSwitchState extends State { Switch( value: _checked, inactiveThumbImage: AssetImage(e), - activeThumbImage: AssetImage('assets/images/pica.gif'), + activeThumbImage: const AssetImage('assets/images/pica.gif'), onChanged: (v) { setState(() => _checked = v); })) diff --git a/lib/widget_system/widgets/StatefulWidget/TabBarView/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/TabBarView/node1_base.dart index 09f9e15..ba4d11d 100644 --- a/lib/widget_system/widgets/StatefulWidget/TabBarView/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/TabBarView/node1_base.dart @@ -12,12 +12,21 @@ import 'package:flutter/material.dart'; // "【physics】 : 表现 【ScrollPhysics】", // } class CustomTabBarView extends StatefulWidget { + const CustomTabBarView({Key? key}) : super(key: key); + @override _CustomTabBarViewState createState() => _CustomTabBarViewState(); } class _CustomTabBarViewState extends State with SingleTickerProviderStateMixin { - final tabs = ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; + final List tabs = const [ + '风画庭', + '雨韵舍', + '雷鸣殿', + '电疾堂', + '霜寒阁', + '雪月楼', + ]; late TabController _tabController; @override @@ -34,37 +43,40 @@ class _CustomTabBarViewState extends State with SingleTickerPr @override Widget build(BuildContext context) { - return Container( - child: Column( - children: [ - _buildTabBar(), - Container( - color: Colors.purple, - width: MediaQuery.of(context).size.width, - height: 200, - child: _buildTableBarView()) - ], - ), + return Column( + children: [ + _buildTabBar(), + Container( + color: Colors.purple, + width: MediaQuery.of(context).size.width, + height: 200, + child: _buildTableBarView()) + ], ); } Widget _buildTabBar() => TabBar( - onTap: (tab) => print(tab), - labelStyle: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - unselectedLabelStyle: TextStyle(fontSize: 16), - isScrollable: true, - controller: _tabController, - labelColor: Colors.blue, - indicatorWeight: 3, - indicatorPadding: EdgeInsets.symmetric(horizontal: 10), - unselectedLabelColor: Colors.grey, - indicatorColor: Colors.orangeAccent, - tabs: tabs.map((e) => Tab(text: e)).toList(), - ); + onTap: (tab) => print(tab), + labelStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + unselectedLabelStyle: const TextStyle(fontSize: 16), + isScrollable: true, + controller: _tabController, + labelColor: Colors.blue, + indicatorWeight: 3, + indicatorPadding: const EdgeInsets.symmetric(horizontal: 10), + unselectedLabelColor: Colors.grey, + indicatorColor: Colors.orangeAccent, + tabs: tabs.map((e) => Tab(text: e)).toList(), + ); Widget _buildTableBarView() => TabBarView( controller: _tabController, children: tabs.map((e) => Center( - child: Text(e, style: TextStyle(color: Colors.white, fontSize: 20), + child: Text( + e, + style: const TextStyle( + color: Colors.white, + fontSize: 20, + ), ))).toList()); } diff --git a/lib/widget_system/widgets/StatefulWidget/TableRowInkWell/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/TableRowInkWell/node1_base.dart index a5c8285..9750631 100644 --- a/lib/widget_system/widgets/StatefulWidget/TableRowInkWell/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/TableRowInkWell/node1_base.dart @@ -16,18 +16,20 @@ import 'package:flutter/material.dart'; // "【onHighlightChanged】 : 高亮变化回调 【Function(bool)】", // } class CustomTableRowInkWell extends StatelessWidget { + const CustomTableRowInkWell({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - var title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号"); - var m = _ItemBean("长度", "L", "1m", "米", "m"); - var kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg"); - var s = _ItemBean("时间", "T", "1s", "秒", "s"); - var a = _ItemBean("安培", "Ι", "1A", "安培", "A"); - var k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K"); - var mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol"); - var cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd"); + _ItemBean title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号"); + _ItemBean m = _ItemBean("长度", "L", "1m", "米", "m"); + _ItemBean kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg"); + _ItemBean s = _ItemBean("时间", "T", "1s", "秒", "s"); + _ItemBean a = _ItemBean("安培", "Ι", "1A", "安培", "A"); + _ItemBean k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K"); + _ItemBean mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol"); + _ItemBean cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd"); - var data = <_ItemBean>[title, m, kg, s, a, k, mol, cd]; + List<_ItemBean> data = [title, m, kg, s, a, k, mol, cd]; return SingleChildScrollView( scrollDirection: Axis.horizontal, @@ -52,7 +54,7 @@ class CustomTableRowInkWell extends StatelessWidget { child: Center( child: Text( item.name, - style: TextStyle(color: Colors.blue), + style: const TextStyle(color: Colors.blue), )), ), Padding( diff --git a/lib/widget_system/widgets/StatefulWidget/TextButton/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/TextButton/node1_base.dart index 0a07887..da06d63 100644 --- a/lib/widget_system/widgets/StatefulWidget/TextButton/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/TextButton/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // } class TextButtonDemo extends StatelessWidget { + const TextButtonDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Container( @@ -24,11 +26,11 @@ class TextButtonDemo extends StatelessWidget { spacing: 20, children: [ TextButton( - child: Text('TextButton 文字'), + child: const Text('TextButton 文字'), onPressed: _onPressed, onLongPress: _onLongPress, ), - TextButton( + const TextButton( child: Text('TextButton 禁用'), onPressed: null, onLongPress: null, @@ -37,7 +39,7 @@ class TextButtonDemo extends StatelessWidget { )); } - _onPressed() {} + void _onPressed() {} - _onLongPress() {} + void _onLongPress() {} } diff --git a/lib/widget_system/widgets/StatefulWidget/TextButton/node2_style.dart b/lib/widget_system/widgets/StatefulWidget/TextButton/node2_style.dart index 8d3fe3f..15ac1dd 100644 --- a/lib/widget_system/widgets/StatefulWidget/TextButton/node2_style.dart +++ b/lib/widget_system/widgets/StatefulWidget/TextButton/node2_style.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // } class TextButtonStyleDemo extends StatelessWidget { + const TextButtonStyleDemo({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return Container( @@ -25,11 +27,11 @@ class TextButtonStyleDemo extends StatelessWidget { TextButton( style: TextButton.styleFrom( backgroundColor: Colors.blue, - padding: EdgeInsets.symmetric(horizontal: 8), + padding: const EdgeInsets.symmetric(horizontal: 8), primary: Colors.white, elevation: 2, shadowColor: Colors.orangeAccent), - child: Text('TextButton 样式'), + child: const Text('TextButton 样式'), onPressed: _onPressed, onLongPress: _onLongPress, ), @@ -37,13 +39,12 @@ class TextButtonStyleDemo extends StatelessWidget { style: TextButton.styleFrom( backgroundColor: Colors.white, primary: Colors.black, - side: BorderSide(color: Colors.blue,width: 1), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)) - ), + side: const BorderSide(color: Colors.blue, width: 1), + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(10))), // elevation: 2, shadowColor: Colors.orangeAccent), - child: Text('TextButton 边线'), + child: const Text('TextButton 边线'), autofocus: false, onPressed: _onPressed, onLongPress: _onLongPress, @@ -53,7 +54,7 @@ class TextButtonStyleDemo extends StatelessWidget { ); } - _onPressed() {} + void _onPressed() {} - _onLongPress() {} + void _onLongPress() {} } diff --git a/lib/widget_system/widgets/StatefulWidget/TextField/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/TextField/node1_base.dart index de32b11..e95678c 100644 --- a/lib/widget_system/widgets/StatefulWidget/TextField/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/TextField/node1_base.dart @@ -15,6 +15,8 @@ import 'package:flutter/material.dart'; // "【onChanged】 : 输入事件 【Function(String)】", // } class CustomTextField extends StatefulWidget { + const CustomTextField({Key? key}) : super(key: key); + @override _CustomTextFieldState createState() => _CustomTextFieldState(); } @@ -23,6 +25,7 @@ class _CustomTextFieldState extends State { final FocusNode _focusNode = FocusNode(); late TextEditingController _controller; + @override void initState() { super.initState(); _controller = TextEditingController(); @@ -37,12 +40,12 @@ class _CustomTextFieldState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( width: 300, child: TextField( controller: _controller, - style: TextStyle(color: Colors.blue), - decoration: InputDecoration( + style: const TextStyle(color: Colors.blue), + decoration: const InputDecoration( border: OutlineInputBorder(), labelText: 'username', ), diff --git a/lib/widget_system/widgets/StatefulWidget/TextField/node2_cursor.dart b/lib/widget_system/widgets/StatefulWidget/TextField/node2_cursor.dart index 3e75a79..5e3ffe9 100644 --- a/lib/widget_system/widgets/StatefulWidget/TextField/node2_cursor.dart +++ b/lib/widget_system/widgets/StatefulWidget/TextField/node2_cursor.dart @@ -17,6 +17,8 @@ import 'package:flutter/material.dart'; // "【autofocus】 : 自动聚焦 【bool】", // } class CursorTextField extends StatefulWidget { + const CursorTextField({Key? key}) : super(key: key); + @override _CursorTextFieldState createState() => _CursorTextFieldState(); } @@ -41,18 +43,18 @@ class _CursorTextFieldState extends State { ); } - Container _buildTextField(BuildContext context) { - return Container( + Widget _buildTextField(BuildContext context) { + return SizedBox( width: 300, child: TextField( - style: TextStyle(color: Colors.blue), + style: const TextStyle(color: Colors.blue), minLines: 3, maxLines: 5, cursorColor: Colors.green, - cursorRadius: Radius.circular(3), + cursorRadius: const Radius.circular(3), cursorWidth: 5, showCursor: true, - decoration: InputDecoration( + decoration: const InputDecoration( contentPadding: EdgeInsets.all(10), hintText: "请输入...", border: OutlineInputBorder(), @@ -62,9 +64,9 @@ class _CursorTextFieldState extends State { ); } - _buildSubmitBtn() => FlatButton( + Widget _buildSubmitBtn() => FlatButton( color: Colors.blue, - child: Text( + child: const Text( "提交", style: TextStyle(color: Colors.white, fontSize: 16), ), diff --git a/lib/widget_system/widgets/StatefulWidget/TextField/node3_decoration.dart b/lib/widget_system/widgets/StatefulWidget/TextField/node3_decoration.dart index efe48ad..72b4e60 100644 --- a/lib/widget_system/widgets/StatefulWidget/TextField/node3_decoration.dart +++ b/lib/widget_system/widgets/StatefulWidget/TextField/node3_decoration.dart @@ -20,9 +20,11 @@ import 'package:flutter/material.dart'; // "border: 边线相关", // } class ComplexTextField extends StatelessWidget { + const ComplexTextField({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return TextField( + return const TextField( decoration: InputDecoration( border: OutlineInputBorder(), focusedBorder: OutlineInputBorder( diff --git a/lib/widget_system/widgets/StatefulWidget/TextFormField/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/TextFormField/node1_base.dart index 3f07cdc..6b3ccc4 100644 --- a/lib/widget_system/widgets/StatefulWidget/TextFormField/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/TextFormField/node1_base.dart @@ -14,22 +14,24 @@ import 'package:flutter/material.dart'; // "【onSaved】 : 表单save时回调 【FormFieldSetter】", // } class CustomTextFormField extends StatefulWidget { + const CustomTextFormField({Key? key}) : super(key: key); + @override _CustomTextFormFieldState createState() => _CustomTextFormFieldState(); } class _CustomTextFormFieldState extends State { - GlobalKey _formKey = GlobalKey(); + final GlobalKey _formKey = GlobalKey(); @override Widget build(BuildContext context) { return Row( children: [ - SizedBox(width: 40), + const SizedBox(width: 40), Expanded( child: TextFormField( - style: TextStyle(textBaseline: TextBaseline.alphabetic), - decoration: InputDecoration( + style: const TextStyle(textBaseline: TextBaseline.alphabetic), + decoration: const InputDecoration( border: OutlineInputBorder(), labelText: 'username', ), @@ -49,30 +51,29 @@ class _CustomTextFormFieldState extends State { } return null; } - _onSaved(value){ - print('onSaved:'+value); + + void _onSaved(value) { + print('onSaved:' + value); } void _onFieldSubmitted(value) { - print('onFieldSubmitted:'+value); + print('onFieldSubmitted:' + value); } - RaisedButton _buildSubmitButton(BuildContext context) { - return RaisedButton( - color: Colors.blue, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), - ), - onPressed: _onSubmit, - child: Icon( - Icons.check, - color: Colors.white, - ), - ); - } + Widget _buildSubmitButton(BuildContext context) => RaisedButton( + color: Colors.blue, + shape: const CircleBorder( + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), + ), + onPressed: _onSubmit, + child: const Icon( + Icons.check, + color: Colors.white, + ), + ); - _onSubmit(){ - if(_formKey.currentState==null) return; + void _onSubmit() { + if (_formKey.currentState == null) return; _formKey.currentState!.save(); if (_formKey.currentState!.validate()) { FocusScope.of(context).requestFocus(FocusNode()); diff --git a/lib/widget_system/widgets/StatefulWidget/Tooltip/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/Tooltip/node1_base.dart index 7b37676..4246fab 100644 --- a/lib/widget_system/widgets/StatefulWidget/Tooltip/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/Tooltip/node1_base.dart @@ -16,9 +16,11 @@ import 'package:flutter/material.dart'; // "【child】 : 孩子 【Widget】", // } class CustomTooltip extends StatelessWidget { + const CustomTooltip({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return Tooltip( + return const Tooltip( preferBelow: true, padding: EdgeInsets.all(5), margin: EdgeInsets.all(5), diff --git a/lib/widget_system/widgets/StatefulWidget/Tooltip/node2_decoration.dart b/lib/widget_system/widgets/StatefulWidget/Tooltip/node2_decoration.dart index 861890e..7e6d220 100644 --- a/lib/widget_system/widgets/StatefulWidget/Tooltip/node2_decoration.dart +++ b/lib/widget_system/widgets/StatefulWidget/Tooltip/node2_decoration.dart @@ -12,9 +12,11 @@ import 'package:flutter/material.dart'; // "【textStyle】 : 文字样式 【double】", // } class DecorationTooltip extends StatelessWidget { + const DecorationTooltip({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return Tooltip( + return const Tooltip( preferBelow: false, padding: EdgeInsets.all(5), margin: EdgeInsets.all(2), diff --git a/lib/widget_system/widgets/StatefulWidget/TweenAnimationBuilder/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/TweenAnimationBuilder/node1_base.dart index 8cc025c..262fd48 100644 --- a/lib/widget_system/widgets/StatefulWidget/TweenAnimationBuilder/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/TweenAnimationBuilder/node1_base.dart @@ -20,6 +20,8 @@ import 'package:flutter/material.dart'; // } class TweenAnimationBuilderDemo extends StatefulWidget { + const TweenAnimationBuilderDemo({Key? key}) : super(key: key); + @override _TweenAnimationBuilderDemoState createState() => _TweenAnimationBuilderDemoState(); @@ -32,7 +34,7 @@ class _TweenAnimationBuilderDemoState extends State { Widget build(BuildContext context) { return TweenAnimationBuilder( tween: ColorTween(begin: Colors.blue, end: _value), - duration: Duration(milliseconds: 800), + duration: const Duration(milliseconds: 800), builder: (BuildContext context, Color? color, Widget? child) { return GestureDetector( onTap: () { @@ -43,7 +45,6 @@ class _TweenAnimationBuilderDemoState extends State { child: Container( width: 40, height: 40, - child: child, decoration: BoxDecoration( color: color, @@ -52,7 +53,7 @@ class _TweenAnimationBuilderDemoState extends State { ), ); }, - child: Icon( + child: const Icon( Icons.android_outlined, color: Colors.white, ), diff --git a/lib/widget_system/widgets/StatefulWidget/UniqueWidget/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/UniqueWidget/node1_base.dart index 118ba45..26d1eec 100644 --- a/lib/widget_system/widgets/StatefulWidget/UniqueWidget/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/UniqueWidget/node1_base.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // } class UniqueWidgetDemo extends StatelessWidget { + const UniqueWidgetDemo({Key? key}) : super(key: key); + final String info = '该类是抽象类,在 Flutter 框架层没有实现类,也没有其他源码使用到它,说明它基本上没啥用。' '本质上它也非常简单,就是为组件添加一个 GlobalKey,在 Element#inflateWidget 时,会校验组件是否有 GlobalKey ,' @@ -24,8 +26,8 @@ class UniqueWidgetDemo extends StatelessWidget { Widget build(BuildContext context) { return Container( color: Colors.blue.withOpacity(0.1), - padding: EdgeInsets.all(10), - margin: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), + margin: const EdgeInsets.all(10), child: Text(info), ); } diff --git a/lib/widget_system/widgets/StatefulWidget/ValueListenableBuilder/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/ValueListenableBuilder/node1_base.dart index edb5201..a2a44ae 100644 --- a/lib/widget_system/widgets/StatefulWidget/ValueListenableBuilder/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/ValueListenableBuilder/node1_base.dart @@ -19,15 +19,15 @@ class ValueListenableBuilderDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 200, child: Scaffold( - appBar: AppBar(title: Text("ValueListenableBuilder")), + appBar: AppBar(title: const Text("ValueListenableBuilder")), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text('You have pushed the button this many times:'), + const Text('You have pushed the button this many times:'), ValueListenableBuilder( builder: _buildWithValue, valueListenable: _counter, @@ -37,7 +37,7 @@ class ValueListenableBuilderDemo extends StatelessWidget { ), ), floatingActionButton: FloatingActionButton( - child: Icon(Icons.plus_one), + child: const Icon(Icons.plus_one), onPressed: () => _counter.value += 1, ), ), diff --git a/lib/widget_system/widgets/StatefulWidget/WidgetInspector/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/WidgetInspector/node1_base.dart index 100a495..f44c611 100644 --- a/lib/widget_system/widgets/StatefulWidget/WidgetInspector/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/WidgetInspector/node1_base.dart @@ -11,13 +11,14 @@ import 'package:flutter/material.dart'; // "【selectButtonBuilder】: *选择按钮构造器 【InspectorSelectButtonBuilder】", // } class WidgetInspectorDemo extends StatelessWidget { + const WidgetInspectorDemo({Key? key}) : super(key: key); @override Widget build(BuildContext context) { - return Container( + return SizedBox( height: 200, child: WidgetInspector( - child: HomePage(), + child: const HomePage(), selectButtonBuilder: _selectButtonBuilder, ), ); @@ -30,25 +31,27 @@ class WidgetInspectorDemo extends StatelessWidget { } class HomePage extends StatefulWidget { + const HomePage({Key? key}) : super(key: key); + @override _HomePageState createState() => _HomePageState(); } class _HomePageState extends State { - var _count = 0; + int _count = 0; @override Widget build(BuildContext context) { return Scaffold( body: Container( - alignment: Alignment(0, 0.7), + alignment: const Alignment(0, 0.7), child: Text( '你点击了$_count次', - style: TextStyle(fontSize: 18, color: Colors.blue), + style: const TextStyle(fontSize: 18, color: Colors.blue), ), ), floatingActionButton: FloatingActionButton( - child: Icon(Icons.add), + child: const Icon(Icons.add), onPressed: () { setState(() { _count++; diff --git a/lib/widget_system/widgets/StatefulWidget/WidgetsApp/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/WidgetsApp/node1_base.dart index 3dee921..0a4eb51 100644 --- a/lib/widget_system/widgets/StatefulWidget/WidgetsApp/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/WidgetsApp/node1_base.dart @@ -13,14 +13,16 @@ import 'package:flutter/material.dart'; // "其他属性基本上同MaterialApp,详见之。", // } class WidgetsAppDemo extends StatefulWidget { + const WidgetsAppDemo({Key? key}) : super(key: key); + @override _WidgetsAppDemoState createState() => _WidgetsAppDemoState(); } class _WidgetsAppDemoState extends State { - var _debugShowCheckedModeBanner = false; - var _debugShowWidgetInspector = false; - var _showPerformanceOverlay = false; + bool _debugShowCheckedModeBanner = false; + bool _debugShowWidgetInspector = false; + bool _showPerformanceOverlay = false; @override Widget build(BuildContext context) { @@ -28,7 +30,7 @@ class _WidgetsAppDemoState extends State { mainAxisSize: MainAxisSize.min, children: [ _buildSwitchers(), - Container( + SizedBox( height: 250, child: WidgetsApp( color: Colors.blue, @@ -48,7 +50,7 @@ class _WidgetsAppDemoState extends State { Widget _buildSwitchers() { return DefaultTextStyle( - style: TextStyle(color: Colors.blue), + style: const TextStyle(color: Colors.blue), child: Wrap( spacing: 10, children: [ @@ -62,7 +64,7 @@ class _WidgetsAppDemoState extends State { }); }, ), - Text('性能浮层') + const Text('性能浮层') ], ), Column( @@ -75,7 +77,7 @@ class _WidgetsAppDemoState extends State { }); }, ), - Text('开启角标') + const Text('开启角标') ], ), Column( @@ -88,7 +90,7 @@ class _WidgetsAppDemoState extends State { }); }, ), - Text('检查器') + const Text('检查器') ], ) ], @@ -98,25 +100,27 @@ class _WidgetsAppDemoState extends State { } class HomePage extends StatefulWidget { + const HomePage({Key? key}) : super(key: key); + @override _HomePageState createState() => _HomePageState(); } class _HomePageState extends State { - var _count = 0; + int _count = 0; @override Widget build(BuildContext context) { return Scaffold( body: Container( - alignment: Alignment(0, 0.7), + alignment: const Alignment(0, 0.7), child: Text( '你点击了$_count次', - style: TextStyle(fontSize: 18, color: Colors.blue), + style: const TextStyle(fontSize: 18, color: Colors.blue), ), ), floatingActionButton: FloatingActionButton( - child: Icon(Icons.add), + child: const Icon(Icons.add), onPressed: () { setState(() { _count++; diff --git a/lib/widget_system/widgets/StatefulWidget/WillPopScope/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/WillPopScope/node1_base.dart index 4c1f9ec..00cd4fe 100644 --- a/lib/widget_system/widgets/StatefulWidget/WillPopScope/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/WillPopScope/node1_base.dart @@ -14,35 +14,35 @@ import 'package:flutter/material.dart'; // "【onWillPop】 : 返回回调 【WillPopCallback】", // } class CustomWillPopScope extends StatelessWidget { + const CustomWillPopScope({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { - return Container( - child: WillPopScope(child: (BackButton()), - onWillPop: ()=>_willPop(context)), + return WillPopScope( + child: const BackButton(), + onWillPop: () => _willPop(context), ); } - Future _willPop(context) async{ + Future _willPop(context) async { return await showDialog( - context: context, - builder: (context) => AlertDialog( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - title: Text('提示'), - content: Text('你确定要离开此页吗?'), - actions: [ - FlatButton( - onPressed: () => Navigator.of(context).pop(true), - child: Text('确定'), + context: context, + builder: (context) => AlertDialog( + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(10))), + title: const Text('提示'), + content: const Text('你确定要离开此页吗?'), + actions: [ + FlatButton( + onPressed: () => Navigator.of(context).pop(true), + child: const Text('确定'), + ), + FlatButton( + onPressed: () => Navigator.of(context).pop(false), + child: const Text('取消'), + ), + ], ), - FlatButton( - onPressed: () => Navigator.of(context).pop(false), - child: Text('取消'), - ), - - ], - ), - ) ?? false; - + ) ?? false; } } diff --git a/lib/widget_system/widgets/StatefulWidget/YearPicker/node1_base.dart b/lib/widget_system/widgets/StatefulWidget/YearPicker/node1_base.dart index 2d7dee6..3a51429 100644 --- a/lib/widget_system/widgets/StatefulWidget/YearPicker/node1_base.dart +++ b/lib/widget_system/widgets/StatefulWidget/YearPicker/node1_base.dart @@ -14,6 +14,8 @@ import 'package:flutter/material.dart'; // "【onChanged】 : 点击回调 【Function(DateTime)】", // } class CustomYearPicker extends StatefulWidget { + const CustomYearPicker({Key? key}) : super(key: key); + @override _CustomYearPickerState createState() => _CustomYearPickerState(); } @@ -23,7 +25,7 @@ class _CustomYearPickerState extends State { @override Widget build(BuildContext context) { - return Container( + return SizedBox( height:150, child: YearPicker( selectedDate: _date, diff --git a/lib/widget_system/widgets/StatelessWidget/AnimatedIcon/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/AnimatedIcon/node1_base.dart index d60b342..4a54775 100644 --- a/lib/widget_system/widgets/StatelessWidget/AnimatedIcon/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/AnimatedIcon/node1_base.dart @@ -1,7 +1,6 @@ /// create by 张风捷特烈 on 2020/4/25 /// contact me by email 1981462002@qq.com /// 说明: -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class CustomAnimatedIcon extends StatefulWidget { diff --git a/lib/widget_system/widgets/StatelessWidget/CheckedModeBanner/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/CheckedModeBanner/node1_base.dart index d8764a8..575d6fe 100644 --- a/lib/widget_system/widgets/StatelessWidget/CheckedModeBanner/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/CheckedModeBanner/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart index f5498bf..60c1f75 100644 --- a/lib/widget_system/widgets/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/4/11 /// contact me by email 1981462002@qq.com diff --git a/lib/widget_system/widgets/StatelessWidget/CupertinoPageTransition/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/CupertinoPageTransition/node1_base.dart index 94ea7ae..61104bf 100644 --- a/lib/widget_system/widgets/StatelessWidget/CupertinoPageTransition/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/CupertinoPageTransition/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/4/11 diff --git a/lib/widget_system/widgets/StatelessWidget/Dialog/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/Dialog/node1_base.dart index e18c745..163ee1c 100644 --- a/lib/widget_system/widgets/StatelessWidget/Dialog/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/Dialog/node1_base.dart @@ -14,7 +14,6 @@ // "【backgroundColor】 : 背景色 【Color】\n" // "【shape】 : 形状 【ShapeBorder】", // } -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class CustomDialog extends StatelessWidget { diff --git a/lib/widget_system/widgets/StatelessWidget/DraggableScrollableActuator/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/DraggableScrollableActuator/node1_base.dart index 1a4167b..ffbf815 100644 --- a/lib/widget_system/widgets/StatelessWidget/DraggableScrollableActuator/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/DraggableScrollableActuator/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/9/21 diff --git a/lib/widget_system/widgets/StatelessWidget/HtmlElementView/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/HtmlElementView/node1_base.dart index 29cfe3d..a3960a6 100644 --- a/lib/widget_system/widgets/StatelessWidget/HtmlElementView/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/HtmlElementView/node1_base.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020/4/11 diff --git a/lib/widget_system/widgets/StatelessWidget/MaterialButton/node3_shape.dart b/lib/widget_system/widgets/StatelessWidget/MaterialButton/node3_shape.dart index e31e5c9..9ab3246 100644 --- a/lib/widget_system/widgets/StatelessWidget/MaterialButton/node3_shape.dart +++ b/lib/widget_system/widgets/StatelessWidget/MaterialButton/node3_shape.dart @@ -34,7 +34,7 @@ class ShapeMaterialButton extends StatelessWidget { color: Colors.white, ), shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), ), onLongPress: () => Navigator.of(context).pushNamed('AboutMePage'), onPressed: () => Navigator.of(context).pushNamed('AboutMePage')), diff --git a/lib/widget_system/widgets/StatelessWidget/PageStorage/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/PageStorage/node1_base.dart index 7e533ea..2f62074 100644 --- a/lib/widget_system/widgets/StatelessWidget/PageStorage/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/PageStorage/node1_base.dart @@ -101,7 +101,7 @@ class _CountWidgetState extends State { ), color: Colors.green, shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFFFDFDFDF)), + side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), )) ], ), diff --git a/lib/widget_system/widgets/StatelessWidget/SimpleDialog/node1_base.dart b/lib/widget_system/widgets/StatelessWidget/SimpleDialog/node1_base.dart index e4f8fc4..17ae179 100644 --- a/lib/widget_system/widgets/StatelessWidget/SimpleDialog/node1_base.dart +++ b/lib/widget_system/widgets/StatelessWidget/SimpleDialog/node1_base.dart @@ -1,5 +1,3 @@ - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; /// create by 张风捷特烈 on 2020-03-24 diff --git a/lib/widget_system/widgets/exp/stateful_unit.dart b/lib/widget_system/widgets/exp/stateful_unit.dart index 96ec68e..47079e2 100644 --- a/lib/widget_system/widgets/exp/stateful_unit.dart +++ b/lib/widget_system/widgets/exp/stateful_unit.dart @@ -163,7 +163,7 @@ export '../StatefulWidget/GlowingOverscrollIndicator/node1_base.dart'; export '../StatefulWidget/DraggableScrollableSheet/node1_base.dart'; export '../StatefulWidget/DrawerController/node1_base.dart'; export '../StatefulWidget/MergeableMaterial/node1_base.dart'; -export '../StatefulWidget/CupertinoTabView/node1_base.dart' hide HomePage; +export '../StatefulWidget/CupertinoTabView/node1_base.dart'; export '../StatefulWidget/TextButton/node1_base.dart'; export '../StatefulWidget/TextButton/node2_style.dart';