diff --git a/Flutter_Go 代码开发规范.md b/Flutter_Go 代码开发规范.md new file mode 100644 index 00000000..d62e8d1c --- /dev/null +++ b/Flutter_Go 代码开发规范.md @@ -0,0 +1,679 @@ +# Flutter Go 代码开发规范 0.1.0 版 + +## 代码风格 + +### 标识符三种类型 + +#### 大驼峰 +类、枚举、typedef和类型参数 + +``` + class SliderMenu { ... } + + class HttpRequest { ... } + + typedef Predicate = bool Function(T value); +``` + +包括用于元数据注释的类 + +``` + class Foo { + const Foo([arg]); + } + + @Foo(anArg) + class A { ... } + + @Foo() + class B { ... } +``` + +#### 使用小写加下划线来命名库和源文件 + +``` + library peg_parser.source_scanner; + + import 'file_system.dart'; + import 'slider_menu.dart'; +``` + +不推荐如下写法: + +``` + library pegparser.SourceScanner; + + import 'file-system.dart'; + import 'SliderMenu.dart'; +``` + + +#### 使用小写加下划线来命名导入前缀 + +``` + import 'dart:math' as math; + import 'package:angular_components/angular_components' + as angular_components; + import 'package:js/js.dart' as js; +``` + +不推荐如下写法: + +``` + import 'dart:math' as Math; + import 'package:angular_components/angular_components' + as angularComponents; + import 'package:js/js.dart' as JS; +``` + +#### 使用小驼峰法命名其他标识符 + +``` + var item; + + HttpRequest httpRequest; + + void align(bool clearItems) { + // ... + } +``` + +#### 优先使用小驼峰法作为常量命名 + +``` + const pi = 3.14; + const defaultTimeout = 1000; + final urlScheme = RegExp('^([a-z]+):'); + + class Dice { + static final numberGenerator = Random(); + } +``` + +不推荐如下写法: + +``` + const PI = 3.14; + const DefaultTimeout = 1000; + final URL_SCHEME = RegExp('^([a-z]+):'); + + class Dice { + static final NUMBER_GENERATOR = Random(); + } +``` + +#### 不使用前缀字母 +因为Dart可以告诉您声明的类型、范围、可变性和其他属性,所以没有理由将这些属性编码为标识符名称。 + +``` + defaultTimeout +``` + +不推荐如下写法: + +``` + kDefaultTimeout +``` + +### 排序 + +为了使你的文件前言保持整洁,我们有规定的命令,指示应该出现在其中。每个“部分”应该用空行分隔。 + +#### 在其他引入之前引入所需的dart库 + +``` + import 'dart:async'; + import 'dart:html'; + + import 'package:bar/bar.dart'; + import 'package:foo/foo.dart'; +``` + +#### 在相对引入之前先引入在包中的库 + +``` + import 'package:bar/bar.dart'; + import 'package:foo/foo.dart'; + + import 'util.dart'; +``` + +#### 第三方包的导入先于其他包 + +``` + import 'package:bar/bar.dart'; + import 'package:foo/foo.dart'; + + import 'package:my_package/util.dart'; +``` + +#### 在所有导入之后,在单独的部分中指定导出 + +``` + import 'src/error.dart'; + import 'src/foo_bar.dart'; + + export 'src/error.dart'; +``` + +不推荐如下写法: + +``` + import 'src/error.dart'; + export 'src/error.dart'; + import 'src/foo_bar.dart'; +``` + + +### 所有流控制结构,请使用大括号 + +这样做可以避免悬浮的else问题 + +``` + if (isWeekDay) { + print('Bike to work!'); + } else { + print('Go dancing or read a book!'); + } +``` + +#### 例外 +一个if语句没有else子句,其中整个if语句和then主体都适合一行。在这种情况下,如果你喜欢的话,你可以去掉大括号 + +``` + if (arg == null) return defaultValue; +``` + +如果流程体超出了一行需要分划请使用大括号: + +``` + if (overflowChars != other.overflowChars) { + return overflowChars < other.overflowChars; + } +``` + +不推荐如下写法: + +``` + if (overflowChars != other.overflowChars) + return overflowChars < other.overflowChars; +``` + +## 注释 + +### 要像句子一样格式化 +除非是区分大小写的标识符,否则第一个单词要大写。以句号结尾(或“!”或“?”)。对于所有的注释都是如此:doc注释、内联内容,甚至TODOs。即使是一个句子片段。 + +``` + greet(name) { + // Assume we have a valid name. + print('Hi, $name!'); + } +``` + +不推荐如下写法: + +``` + greet(name) { + /* Assume we have a valid name. */ + print('Hi, $name!'); + } +``` + +可以使用块注释(/…/)临时注释掉一段代码,但是所有其他注释都应该使用// + +### Doc注释 +使用///文档注释来记录成员和类型。 + +使用doc注释而不是常规注释,可以让dartdoc找到并生成文档。 + +``` + /// The number of characters in this chunk when unsplit. + int get length => ... +``` + +> 由于历史原因,达特茅斯学院支持道格评论的两种语法:///(“C#风格”)和/**…* /(“JavaDoc风格”)。我们更喜欢/// 因为它更紧凑。/**和*/在多行文档注释中添加两个无内容的行。在某些情况下,///语法也更容易阅读,例如文档注释包含使用*标记列表项的项目符号列表。 + +### 考虑为私有api编写文档注释 + +Doc注释并不仅仅针对库的公共API的外部使用者。它们还有助于理解从库的其他部分调用的私有成员 + +#### 用一句话总结开始doc注释 + +以简短的、以用户为中心的描述开始你的文档注释,以句号结尾。 + +``` +/// Deletes the file at [path] from the file system. +void delete(String path) { + ... +} +``` + +不推荐如下写法: + +``` + /// Depending on the state of the file system and the user's permissions, + /// certain operations may or may not be possible. If there is no file at + /// [path] or it can't be accessed, this function throws either [IOError] + /// or [PermissionError], respectively. Otherwise, this deletes the file. + void delete(String path) { + ... + } +``` + +#### “doc注释”的第一句话分隔成自己的段落 + +在第一个句子之后添加一个空行,把它分成自己的段落 + +``` + /// Deletes the file at [path]. + /// + /// Throws an [IOError] if the file could not be found. Throws a + /// [PermissionError] if the file is present but could not be deleted. + void delete(String path) { + ... + } +``` + +## Flutter_Go 使用参考 + +### 库的引用 + +flutter go 中,导入lib下文件库,统一指定报名,避免过多的```../../``` +``` +package:flutter_go/ +``` + +### 字符串的使用 + +#### 使用相邻字符串连接字符串文字 +如果有两个字符串字面值(不是值,而是实际引用的字面值),则不需要使用+连接它们。就像在C和c++中,简单地把它们放在一起就能做到。这是创建一个长字符串很好的方法但是不适用于单独一行。 + +``` +raiseAlarm( + 'ERROR: Parts of the spaceship are on fire. Other ' + 'parts are overrun by martians. Unclear which are which.'); +``` + +不推荐如下写法: + +``` +raiseAlarm('ERROR: Parts of the spaceship are on fire. Other ' + + 'parts are overrun by martians. Unclear which are which.'); +``` + +#### 优先使用模板字符串 +``` +'Hello, $name! You are ${year - birth} years old.'; +``` + +#### 在不需要的时候,避免使用花括号 + +``` + 'Hi, $name!' + "Wear your wildest $decade's outfit." +``` + +不推荐如下写法: + +``` + 'Hello, ' + name + '! You are ' + (year - birth).toString() + ' y...'; +``` + +不推荐如下写法: + +``` + 'Hi, ${name}!' + "Wear your wildest ${decade}'s outfit." +``` + +### 集合 + +#### 尽可能使用集合字面量 + +如果要创建一个不可增长的列表,或者其他一些自定义集合类型,那么无论如何,都要使用构造函数。 + +``` + var points = []; + var addresses = {}; + var lines = []; +``` + +不推荐如下写法: + +``` + var points = List(); + var addresses = Map(); +``` + +#### 不要使用.length查看集合是否为空 + +``` +if (lunchBox.isEmpty) return 'so hungry...'; +if (words.isNotEmpty) return words.join(' '); +``` + +不推荐如下写法: + +``` + if (lunchBox.length == 0) return 'so hungry...'; + if (!words.isEmpty) return words.join(' '); +``` + +#### 考虑使用高阶方法转换序列 + +如果有一个集合,并且希望从中生成一个新的修改后的集合,那么使用.map()、.where()和Iterable上的其他方便的方法通常更短,也更具有声明性 + +``` + var aquaticNames = animals + .where((animal) => animal.isAquatic) + .map((animal) => animal.name); +``` +#### 避免使用带有函数字面量的Iterable.forEach() + +在Dart中,如果你想遍历一个序列,惯用的方法是使用循环。 + +``` +for (var person in people) { + ... +} +``` + +不推荐如下写法: + +``` + people.forEach((person) { + ... + }); +``` + +#### 不要使用List.from(),除非打算更改结果的类型 + +给定一个迭代,有两种明显的方法可以生成包含相同元素的新列表 + +``` +var copy1 = iterable.toList(); +var copy2 = List.from(iterable); +``` + +明显的区别是第一个比较短。重要的区别是第一个保留了原始对象的类型参数 + +``` +// Creates a List: +var iterable = [1, 2, 3]; + +// Prints "List": +print(iterable.toList().runtimeType); +``` + +``` +// Creates a List: +var iterable = [1, 2, 3]; + +// Prints "List": +print(List.from(iterable).runtimeType); +``` + +### 参数的使用 + +#### 使用=将命名参数与其默认值分割开 + +由于遗留原因,Dart均允许“:”和“=”作为指定参数的默认值分隔符。为了与可选的位置参数保持一致,使用“=”。 + +``` + void insert(Object item, {int at = 0}) { ... } +``` + +不推荐如下写法: + +``` + void insert(Object item, {int at: 0}) { ... } +``` + +#### 不要使用显式默认值null + +如果参数是可选的,但没有给它一个默认值,则语言隐式地使用null作为默认值,因此不需要编写它 + +``` +void error([String message]) { + stderr.write(message ?? '\n'); +} +``` + +不推荐如下写法: + +``` +void error([String message = null]) { + stderr.write(message ?? '\n'); +} +``` + +### 变量 + +#### 不要显式地将变量初始化为空 +在Dart中,未显式初始化的变量或字段自动被初始化为null。不要多余赋值null + +``` + int _nextId; + + class LazyId { + int _id; + + int get id { + if (_nextId == null) _nextId = 0; + if (_id == null) _id = _nextId++; + + return _id; + } + } +``` + +不推荐如下写法: + +``` + int _nextId = null; + + class LazyId { + int _id = null; + + int get id { + if (_nextId == null) _nextId = 0; + if (_id == null) _id = _nextId++; + + return _id; + } + } +``` + +#### 避免储存你能计算的东西 + +在设计类时,您通常希望将多个视图公开到相同的底层状态。通常你会看到在构造函数中计算所有视图的代码,然后存储它们: + +应该避免的写法: + +``` + class Circle { + num radius; + num area; + num circumference; + + Circle(num radius) + : radius = radius, + area = pi * radius * radius, + circumference = pi * 2.0 * radius; + } +``` + +如上代码问题: + +- 浪费内存 +- 缓存的问题是无效——如何知道何时缓存过期需要重新计算? + +推荐的写法如下: + +``` + class Circle { + num radius; + + Circle(this.radius); + + num get area => pi * radius * radius; + num get circumference => pi * 2.0 * radius; + } +``` + +### 类成员 + +#### 不要把不必要地将字段包装在getter和setter中 + +不推荐如下写法: + +``` + class Box { + var _contents; + get contents => _contents; + set contents(value) { + _contents = value; + } + } +``` + +#### 优先使用final字段来创建只读属性 + +尤其对于 ```StatelessWidget``` + +#### 在不需要的时候不要用this + +不推荐如下写法: + +``` + class Box { + var value; + + void clear() { + this.update(null); + } + + void update(value) { + this.value = value; + } + } +``` + +推荐如下写法: + +``` + class Box { + var value; + + void clear() { + update(null); + } + + void update(value) { + this.value = value; + } + } +``` + +### 构造函数 + +#### 尽可能使用初始化的形式 + +不推荐如下写法: + +``` + class Point { + num x, y; + Point(num x, num y) { + this.x = x; + this.y = y; + } + } +``` + +推荐如下写法: + +``` +class Point { + num x, y; + Point(this.x, this.y); +} +``` + +#### 不要使用new + +Dart2使new 关键字可选 + +推荐写法: + +``` + Widget build(BuildContext context) { + return Row( + children: [ + RaisedButton( + child: Text('Increment'), + ), + Text('Click!'), + ], + ); + } +``` + +不推荐如下写法: + +``` + Widget build(BuildContext context) { + return new Row( + children: [ + new RaisedButton( + child: new Text('Increment'), + ), + new Text('Click!'), + ], + ); + } +``` + +### 异步 + +#### 优先使用async/await代替原始的futures + +async/await语法提高了可读性,允许你在异步代码中使用所有Dart控制流结构。 + +``` + Future countActivePlayers(String teamName) async { + try { + var team = await downloadTeam(teamName); + if (team == null) return 0; + + var players = await team.roster; + return players.where((player) => player.isActive).length; + } catch (e) { + log.error(e); + return 0; + } + } +``` + +#### 当异步没有任何用处时,不要使用它 + +如果可以在不改变函数行为的情况下省略异步,那么就这样做。、 + +``` + Future afterTwoThings(Future first, Future second) { + return Future.wait([first, second]); + } +``` + +不推荐写法: + +``` + Future afterTwoThings(Future first, Future second) async { + return Future.wait([first, second]); + } +``` + + + + diff --git a/README.md b/README.md index 455679f0..56f19e8d 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,21 @@ Language: [English](https://github.com/alibaba/flutter-go/blob/master/README-en. > 帮助开发者快速上手 Flutter **内部测试中,1.0 正式版将于 2月 20日 发布。** +## 版本更新历史 +> 按时间顺序,展示重要的提交更新内容。 + +[地址](https://github.com/alibaba/flutter-go/blob/develop/CHANGE-LOG.md) + +## 开发规范 +> 由于类似 javascript, java, object-c,等开发者的语言习惯不同而产生歧义,我们依据官方提供的 [dart 语言规范](https://www.dartlang.org) 定制。 + +[<< Flutter Go 开发规范第一版 >>](https://github.com/alibaba/flutter-go/blob/develop/Flutter_Go%20%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83.md) ## Release安装包下载地址 android下载地址: - + iphone下载地址: 暂无 @@ -48,7 +57,7 @@ flutter优点主要包括: ### app 预览 - + ### Core Team diff --git a/assets/app.db b/assets/app.db index 0955a802..b5b6f0ab 100644 Binary files a/assets/app.db and b/assets/app.db differ diff --git a/assets/images/painterImg.jpeg b/assets/images/painterImg.jpeg new file mode 100644 index 00000000..b602c1b4 Binary files /dev/null and b/assets/images/painterImg.jpeg differ diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 0cfe345d..8ca3f129 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 333E5DAE7FC10AC69FEC26C0 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA792F029EDD7A11295D192 /* libPods-Runner.a */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; }; 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; @@ -42,6 +43,7 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; }; 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; @@ -92,6 +94,7 @@ children = ( 3B80C3931E831B6300D905FE /* App.framework */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 2D5378251FAA1A9400D5DBA9 /* flutter_assets */, 9740EEBA1CF902C7004384FC /* Flutter.framework */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, @@ -209,6 +212,7 @@ files = ( 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */, 084A20882202E4FD00428FF5 /* flutter go.png in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, @@ -449,7 +453,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = com.ttt.flutterRookieBook; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterRookieBook; PRODUCT_NAME = "$(TARGET_NAME)"; VERSIONING_SYSTEM = "apple-generic"; }; @@ -473,7 +477,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = com.ttt.flutterRookieBook; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterRookieBook; PRODUCT_NAME = "$(TARGET_NAME)"; VERSIONING_SYSTEM = "apple-generic"; }; diff --git a/lib/components/full_screen_code_dialog.dart b/lib/components/full_screen_code_dialog.dart index 44af351e..1d7da872 100644 --- a/lib/components/full_screen_code_dialog.dart +++ b/lib/components/full_screen_code_dialog.dart @@ -20,6 +20,7 @@ class _FullScreenCodeDialogState extends State { @override void didChangeDependencies() { + print('widget.filePath=======${widget.filePath}'); getExampleCode(context,'${widget.filePath}', DefaultAssetBundle.of(context)) .then((String code) { if (mounted) { diff --git a/lib/resources/widget_name_to_icon.dart b/lib/resources/widget_name_to_icon.dart index 95dff598..644d145d 100644 --- a/lib/resources/widget_name_to_icon.dart +++ b/lib/resources/widget_name_to_icon.dart @@ -78,6 +78,9 @@ class WidgetName2Icon { "IconData":Icons.date_range, "IconThemeData":Icons.insert_comment, "Canvas":Icons.edit, + "PainterPath":Icons.gesture, + "CircleProgressBarPainter":Icons.av_timer, + "PainterSketch":Icons.touch_app, "Material":Icons.android, "MaterialApp":Icons.android, "MaterialButton":Icons.speaker, diff --git a/lib/routers/application.dart b/lib/routers/application.dart index 0005b856..35587d4d 100644 --- a/lib/routers/application.dart +++ b/lib/routers/application.dart @@ -4,7 +4,7 @@ class Application { static Router router; static TabController controller; static Map github = { - 'widgetsURL':'https://github.com/alibaba-paimai-frontend/flutter-common-widgets-app/tree/develop/lib/widgets/', + 'widgetsURL':'https://github.com/alibaba/flutter-go/blob/develop/lib/widgets/', //'develop':'https://github.com/alibaba-paimai-frontend/flutter-common-widgets-app/tree/develop/lib/widgets/', //'master':'https://github.com/alibaba-paimai-frontend/flutter-common-widgets-app/tree/master/lib/widgets/' }; diff --git a/lib/utils/provider.dart b/lib/utils/provider.dart index 35a354c7..643addfa 100644 --- a/lib/utils/provider.dart +++ b/lib/utils/provider.dart @@ -59,6 +59,7 @@ class Provider { //Get a location using getDatabasesPath String databasesPath = await getDatabasesPath(); String path = join(databasesPath, 'flutter.db'); + print(path); try { db = await openDatabase(path); } catch (e) { diff --git a/lib/views/first_page/home.dart b/lib/views/first_page/home.dart index f82b5e77..03a974af 100644 --- a/lib/views/first_page/home.dart +++ b/lib/views/first_page/home.dart @@ -17,7 +17,7 @@ import 'package:flutter_go/views/widget_page/widget_page.dart'; import 'package:flutter_go/views/welcome_page/fourth_page.dart'; import 'package:flutter_go/views/collection_page/collection_page.dart'; import 'package:flutter_go/routers/application.dart'; -import 'package:flutter_go/utils//provider.dart'; +import 'package:flutter_go/utils/provider.dart'; import 'package:flutter_go/model/widget.dart'; import 'package:flutter_go/widgets/index.dart'; import 'package:flutter_go/components/search_input.dart'; diff --git a/lib/widgets/404.dart b/lib/widgets/404.dart index 1ca56170..156b043e 100644 --- a/lib/widgets/404.dart +++ b/lib/widgets/404.dart @@ -9,7 +9,7 @@ class WidgetNotFound extends StatelessWidget { title: Text("widget not found"), ), body: Container( - child: new Text("widget not found") + child: Text("widget not found") ) ); } diff --git a/lib/widgets/components/Bar/AppBar/demo.dart b/lib/widgets/components/Bar/AppBar/demo.dart index c17eb6e0..3a21d086 100644 --- a/lib/widgets/components/Bar/AppBar/demo.dart +++ b/lib/widgets/components/Bar/AppBar/demo.dart @@ -30,8 +30,8 @@ class _AppBarLessDefaultComplex extends State with SingleTickerProviderStateMixi @override void initState() { super.initState(); - _scrollViewController = new ScrollController(); - _tabController = new TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应 + _scrollViewController = ScrollController(); + _tabController = TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应 } @override @@ -46,26 +46,26 @@ class _AppBarLessDefaultComplex extends State with SingleTickerProviderStateMixi // 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。 // 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。 // 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。 - return new SizedBox( + return SizedBox( height: 500, - child:new AppBar( // 大量配置属性参考 SliverAppBar 示例 - title: new Text('title'), - leading: new Icon(Icons.home), + child: AppBar( // 大量配置属性参考 SliverAppBar 示例 + title: Text('title'), + leading: Icon(Icons.home), backgroundColor: Colors.amber[500], centerTitle: true, actions: [ - new IconButton( - icon: new Icon(Icons.add_alarm), + IconButton( + icon: Icon(Icons.add_alarm), tooltip: 'Add Alarm', onPressed: () { // do nothing }), - new PopupMenuButton( + PopupMenuButton( itemBuilder: (BuildContext context) => >[ - new PopupMenuItem( - value: "price", child: new Text('Sort by price')), - new PopupMenuItem( - value: "time", child: new Text('Sort by time')), + PopupMenuItem( + value: "price", child: Text('Sort by price')), + PopupMenuItem( + value: "time", child: Text('Sort by time')), ], onSelected: (String action) { switch (action) { @@ -78,16 +78,16 @@ class _AppBarLessDefaultComplex extends State with SingleTickerProviderStateMixi } }) ], - bottom: new TabBar( + bottom: TabBar( isScrollable: true, controller: _tabController, tabs: [ - new Tab(text: "Tabs 1"), - new Tab(text: "Tabs 2"), - new Tab(text: "Tabs 3"), - new Tab(text: "Tabs 4"), - new Tab(text: "Tabs 5"), - new Tab(text: "Tabs 6"), + Tab(text: "Tabs 1"), + Tab(text: "Tabs 2"), + Tab(text: "Tabs 3"), + Tab(text: "Tabs 4"), + Tab(text: "Tabs 5"), + Tab(text: "Tabs 6"), ], ), ), @@ -107,7 +107,7 @@ class AppBarLessDefaultSimple extends StatelessWidget { @override Widget build(BuildContext context) { - return new SizedBox( + return SizedBox( height: 200, child:AppBar( title: Text('My Fancy Dress'), diff --git a/lib/widgets/components/Bar/AppBar/index.dart b/lib/widgets/components/Bar/AppBar/index.dart index 82bdf8c1..0816bc41 100644 --- a/lib/widgets/components/Bar/AppBar/index.dart +++ b/lib/widgets/components/Bar/AppBar/index.dart @@ -62,7 +62,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -84,7 +84,7 @@ Widget allDomes(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/components/Bar/BottomAppBar/demo.dart b/lib/widgets/components/Bar/BottomAppBar/demo.dart index cea79ea4..e5bf902f 100644 --- a/lib/widgets/components/Bar/BottomAppBar/demo.dart +++ b/lib/widgets/components/Bar/BottomAppBar/demo.dart @@ -21,7 +21,7 @@ class AppBarLessDefaultSimple extends StatelessWidget { @override Widget build(BuildContext context) { - return new SizedBox( + return SizedBox( height: 100, child: Scaffold( //appBar: AppBar(title: const Text('Bottom App Bar')), diff --git a/lib/widgets/components/Bar/BottomAppBar/index.dart b/lib/widgets/components/Bar/BottomAppBar/index.dart index 18c2d159..5a121b73 100644 --- a/lib/widgets/components/Bar/BottomAppBar/index.dart +++ b/lib/widgets/components/Bar/BottomAppBar/index.dart @@ -38,7 +38,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'BottomAppBar', - codeUrl: 'componentss/Bar/BottomAppBar/demo.dart', + codeUrl: 'components/Bar/BottomAppBar/demo.dart', contentList: [allDomes(context, this)], docUrl: 'https://docs.flutter.io/flutter/material/BottomAppBar-class.html', ); @@ -52,7 +52,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/components/Bar/ButtonBar/demo.dart b/lib/widgets/components/Bar/ButtonBar/demo.dart index 0ce89f0b..6ffb3d2d 100644 --- a/lib/widgets/components/Bar/ButtonBar/demo.dart +++ b/lib/widgets/components/Bar/ButtonBar/demo.dart @@ -44,9 +44,9 @@ class ButtonBarLessDefault extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - margin: new EdgeInsets.symmetric(vertical: 0.0), + margin: EdgeInsets.symmetric(vertical: 0.0), height: 100.0, - child: new Scrollbar(child:ListView( + child: Scrollbar(child:ListView( scrollDirection: Axis.horizontal, // 水平listView children: [ ButtonBar( diff --git a/lib/widgets/components/Bar/ButtonBar/index.dart b/lib/widgets/components/Bar/ButtonBar/index.dart index 8c9de1ff..f5fc37fb 100644 --- a/lib/widgets/components/Bar/ButtonBar/index.dart +++ b/lib/widgets/components/Bar/ButtonBar/index.dart @@ -55,7 +55,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/components/Bar/FlexibleSpaceBar/index.dart b/lib/widgets/components/Bar/FlexibleSpaceBar/index.dart index 80f27150..0d3b7c77 100644 --- a/lib/widgets/components/Bar/FlexibleSpaceBar/index.dart +++ b/lib/widgets/components/Bar/FlexibleSpaceBar/index.dart @@ -54,7 +54,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/components/Bar/SliverAppBar/demo.dart b/lib/widgets/components/Bar/SliverAppBar/demo.dart index 705f0dbe..058a25aa 100644 --- a/lib/widgets/components/Bar/SliverAppBar/demo.dart +++ b/lib/widgets/components/Bar/SliverAppBar/demo.dart @@ -44,9 +44,9 @@ class SliverAppBarLessDefault extends StatelessWidget { @override Widget build(BuildContext context) { for (int i = 0; i < 20; i++) { - listData.add(new ListItem("我是测试标题$i", Icons.cake)); + listData.add( ListItem("我是测试标题$i", Icons.cake)); } - return new SizedBox( + return SizedBox( height: 500.0, child: NestedScrollView( headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) { @@ -89,7 +89,7 @@ class SliverAppBarLessDefault extends StatelessWidget { // SliverPersistentHeader( // delegate: _SliverAppBarDelegate( // TabBar( - // controller: new TabController(length: 2, vsync: this), + // controller: TabController(length: 2, vsync: this), // labelColor: Colors.black87, // unselectedLabelColor: Colors.grey, // tabs: [ @@ -101,10 +101,10 @@ class SliverAppBarLessDefault extends StatelessWidget { ]; }, body: Center( - child: new ListView.builder( + child: ListView.builder( shrinkWrap: true, itemBuilder: (BuildContext context, int index) { - return new ListItemWidget(listData[index]); + return ListItemWidget(listData[index]); }, itemCount: listData.length, ), @@ -127,10 +127,10 @@ class ListItemWidget extends StatelessWidget { @override Widget build(BuildContext context) { - return new InkWell( - child: new ListTile( - leading: new Icon(listItem.iconData), - title: new Text(listItem.title), + return InkWell( + child: ListTile( + leading: Icon(listItem.iconData), + title: Text(listItem.title), ), onTap: () {}, ); diff --git a/lib/widgets/components/Bar/SliverAppBar/index.dart b/lib/widgets/components/Bar/SliverAppBar/index.dart index 367b5216..92490640 100644 --- a/lib/widgets/components/Bar/SliverAppBar/index.dart +++ b/lib/widgets/components/Bar/SliverAppBar/index.dart @@ -40,7 +40,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'SliverAppBar', - codeUrl: 'componentss/Bar/SliverAppBar/demo.dart', + codeUrl: 'components/Bar/SliverAppBar/demo.dart', contentList:[allDomes(context, this)], docUrl: 'https://docs.flutter.io/flutter/widgets/SliverAppBar-class.html', ); @@ -54,7 +54,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -71,7 +71,7 @@ Widget allDomes(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/components/Bar/SnackBar/demo.dart b/lib/widgets/components/Bar/SnackBar/demo.dart index d4413982..5ba66467 100644 --- a/lib/widgets/components/Bar/SnackBar/demo.dart +++ b/lib/widgets/components/Bar/SnackBar/demo.dart @@ -23,15 +23,15 @@ class SnackBarLessDefault extends StatelessWidget { @override Widget build(BuildContext context) { // 当BuildContext在Scaffold之前时,调用Scaffold.of(context)会报错。这时可以通过Builder Widget来解决 - return new Center( - child: new Column( + return Center( + child: Column( children: [ - new GestureDetector( + GestureDetector( onTap: () { - final snackBar = new SnackBar( - content: new Text('这是一个SnackBar, 右侧有SnackBarAction'), + final snackBar = SnackBar( + content: Text('这是一个SnackBar, 右侧有SnackBarAction'), backgroundColor:Colors.red, - action: new SnackBarAction( // 提示信息上添加一个撤消的按钮 + action: SnackBarAction( // 提示信息上添加一个撤消的按钮 textColor:Colors.black, label: '撤消', onPressed: () { @@ -43,19 +43,19 @@ class SnackBarLessDefault extends StatelessWidget { ); Scaffold.of(context).showSnackBar(snackBar); }, - child: new Text('显示SnackBar'), + child: Text('显示SnackBar'), ), - new GestureDetector( + GestureDetector( onTap: () { - final snackBar = new SnackBar( - content: new Text('右侧无SnackBarAction'), + final snackBar = SnackBar( + content: Text('右侧无SnackBarAction'), backgroundColor:Colors.red, duration:Duration(minutes: 1),// 持续时间 //animation, ); Scaffold.of(context).showSnackBar(snackBar); }, - child: new Text('显示无SnackBarAction的SnackBar'), + child: Text('显示无SnackBarAction的SnackBar'), ), ], ) diff --git a/lib/widgets/components/Bar/SnackBar/index.dart b/lib/widgets/components/Bar/SnackBar/index.dart index 2047f783..e99b7b66 100644 --- a/lib/widgets/components/Bar/SnackBar/index.dart +++ b/lib/widgets/components/Bar/SnackBar/index.dart @@ -40,7 +40,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'SnackBar', - codeUrl: 'componentss/Bar/SnackBar/demo.dart', + codeUrl: 'components/Bar/SnackBar/demo.dart', contentList: [allDomes(context, this)], docUrl: 'https://docs.flutter.io/flutter/material/SnackBar-class.html', ); @@ -54,7 +54,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -72,7 +72,7 @@ Widget allDomes(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/components/Bar/SnackBarAction/demo.dart b/lib/widgets/components/Bar/SnackBarAction/demo.dart index 204602de..7acd5f75 100644 --- a/lib/widgets/components/Bar/SnackBarAction/demo.dart +++ b/lib/widgets/components/Bar/SnackBarAction/demo.dart @@ -16,15 +16,15 @@ class SnackBarActionDemo extends StatefulWidget { class _Demo extends State { Widget build(BuildContext context) { - return new Center( - child: new Column( + return Center( + child: Column( children: [ new RaisedButton( onPressed: () { final snackBar = new SnackBar( content: new Text('这是一个SnackBar, 右侧有SnackBarAction, 3秒后消失'), backgroundColor:Color(0xffc91b3a), - action: new SnackBarAction( // 提示信息上添加一个撤消的按钮 + action: SnackBarAction( // 提示信息上添加一个撤消的按钮 textColor:Colors.white, label: '撤消', onPressed: () { @@ -37,7 +37,7 @@ class _Demo extends State { Scaffold.of(context).showSnackBar(snackBar); }, - child: new Text('点我显示有action的SnackBar'), + child: Text('点我显示有action的SnackBar'), ), new RaisedButton( onPressed: () async { @@ -49,7 +49,7 @@ class _Demo extends State { ); Scaffold.of(context).showSnackBar(snackBar); }, - child: new Text('点我显示无SnackBarAction的SnackBar'), + child: Text('点我显示无SnackBarAction的SnackBar'), ), ], ) diff --git a/lib/widgets/components/Bar/TabBar/demo.dart b/lib/widgets/components/Bar/TabBar/demo.dart index 83caba93..1e8e5972 100644 --- a/lib/widgets/components/Bar/TabBar/demo.dart +++ b/lib/widgets/components/Bar/TabBar/demo.dart @@ -26,8 +26,8 @@ class _TabBarDemo extends State with SingleTickerProviderStateMixin { @override void initState() { super.initState(); - _scrollViewController = new ScrollController(); - _tabController = new TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应 + _scrollViewController = ScrollController(); + _tabController = TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应 } @override @@ -42,27 +42,27 @@ class _TabBarDemo extends State with SingleTickerProviderStateMixin { // 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。 // 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。 // 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。 - return new SizedBox( + return SizedBox( height: 500, - child:new Scaffold( - appBar: new AppBar( // 大量配置属性参考 SliverAppBar 示例 - title: new Text('TabBar'), - leading: new Icon(Icons.home), + child: Scaffold( + appBar: AppBar( // 大量配置属性参考 SliverAppBar 示例 + title: Text('TabBar'), + leading: Icon(Icons.home), backgroundColor: Colors.amber[1000], - bottom: new TabBar( + bottom: TabBar( isScrollable: true, controller: _tabController, tabs: [ - new Tab(text: "Tabs 1"), - new Tab(text: "Tabs 2"), - new Tab(text: "Tabs 3"), - new Tab(text: "Tabs 4"), - new Tab(text: "Tabs 5"), - new Tab(text: "Tabs 6"), + Tab(text: "Tabs 1"), + Tab(text: "Tabs 2"), + Tab(text: "Tabs 3"), + Tab(text: "Tabs 4"), + Tab(text: "Tabs 5"), + Tab(text: "Tabs 6"), ], ), ), - body: new TabBarView(controller: _tabController, children: [ + body: TabBarView(controller: _tabController, children: [ Text('TabsView 1'), Text('TabsView 2'), Text('TabsView 3'), diff --git a/lib/widgets/components/Card/Card/demo.dart b/lib/widgets/components/Card/Card/demo.dart index 107a6bd5..7e9de10b 100644 --- a/lib/widgets/components/Card/Card/demo.dart +++ b/lib/widgets/components/Card/Card/demo.dart @@ -50,9 +50,9 @@ class CardLessDefault extends StatelessWidget { margin:EdgeInsets.all(20.0), // margin: EdgeInsetsDirectional.only(bottom: 30.0, top: 30.0, start: 30.0),// 边距 semanticContainer:true, // 表示单个语义容器,还是false表示单个语义节点的集合,接受单个child,但该child可以是Row,Column或其他包含子级列表的widget -// shape:new Border.all( +// shape: Border.all( // color: Colors.indigo, width: 1.0, style: BorderStyle.solid), // 卡片材质的形状,以及边框 - shape:RoundedRectangleBorder(borderRadius: new BorderRadius.circular(20.0)), // 圆角 + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)), // 圆角 //borderRadius: BorderRadius.all(Radius.circular(8.0)), child: Column( //card里面的子控件 mainAxisSize: MainAxisSize.min, diff --git a/lib/widgets/components/Card/Card/index.dart b/lib/widgets/components/Card/Card/index.dart index 5ee1fbb5..ea59f5ca 100644 --- a/lib/widgets/components/Card/Card/index.dart +++ b/lib/widgets/components/Card/Card/index.dart @@ -52,7 +52,7 @@ class _DemoState extends State { */ Widget allDomes(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/components/Chip/inputChip/demo.dart b/lib/widgets/components/Chip/InputChip/demo.dart similarity index 100% rename from lib/widgets/components/Chip/inputChip/demo.dart rename to lib/widgets/components/Chip/InputChip/demo.dart diff --git a/lib/widgets/components/Chip/inputChip/index.dart b/lib/widgets/components/Chip/InputChip/index.dart similarity index 100% rename from lib/widgets/components/Chip/inputChip/index.dart rename to lib/widgets/components/Chip/InputChip/index.dart diff --git a/lib/widgets/components/Dialog/AboutDialog/demo.dart b/lib/widgets/components/Dialog/AboutDialog/demo.dart index df03d3a2..7d7f235e 100644 --- a/lib/widgets/components/Dialog/AboutDialog/demo.dart +++ b/lib/widgets/components/Dialog/AboutDialog/demo.dart @@ -19,9 +19,9 @@ class _Demo extends State { void showAlertDialog(BuildContext context) { showDialog( context: context, - builder: (_) => new AboutDialog( + builder: (_) => AboutDialog( applicationName: '名称', - applicationIcon: new Icon(Icons.ac_unit), + applicationIcon: Icon(Icons.ac_unit), applicationVersion: 'V1.0', children: [ Text('我是一个关于的dialog') @@ -29,12 +29,12 @@ class _Demo extends State { )); } Widget build(BuildContext context) { - return new RaisedButton( - padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), + return RaisedButton( + padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), //padding - child: new Text( + child: Text( 'show aboutDialog', - style: new TextStyle( + style: TextStyle( fontSize: 18.0, //textsize color: Colors.white, // textcolor ), diff --git a/lib/widgets/components/Dialog/AlertDialog/demo.dart b/lib/widgets/components/Dialog/AlertDialog/demo.dart index 8d68c838..ba00b0e9 100644 --- a/lib/widgets/components/Dialog/AlertDialog/demo.dart +++ b/lib/widgets/components/Dialog/AlertDialog/demo.dart @@ -10,12 +10,9 @@ import 'package:flutter/material.dart'; -class AlertDialogDemo extends StatefulWidget { - _Demo createState() => _Demo(); -} +class AlertDialogDemo extends StatelessWidget{ + // _Demo createState() => _Demo(); -class _Demo extends State { - void showAlertDialog(BuildContext context) { showDialog( context: context, @@ -122,12 +119,12 @@ class _Demo extends State { ); } Widget build(BuildContext context) { - return new RaisedButton( - padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), + return RaisedButton( + padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), //padding - child: new Text( + child: Text( '点我显示 AlertDialog', - style: new TextStyle( + style: TextStyle( fontSize: 18.0, //textsize color: Colors.white, // textcolor ), @@ -141,3 +138,8 @@ class _Demo extends State { }); } } + +// class _Demo extends State { + + +// } diff --git a/lib/widgets/components/Dialog/Dialog/demo.dart b/lib/widgets/components/Dialog/Dialog/demo.dart index 4f7f3818..c68ab35b 100644 --- a/lib/widgets/components/Dialog/Dialog/demo.dart +++ b/lib/widgets/components/Dialog/Dialog/demo.dart @@ -42,12 +42,12 @@ class _Demo extends State { ); } Widget build(BuildContext context) { - return new RaisedButton( - padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), + return RaisedButton( + padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), //padding - child: new Text( + child: Text( '点我显示 Dialog', - style: new TextStyle( + style: TextStyle( fontSize: 18.0, //textsize color: Colors.white, // textcolor ), @@ -108,14 +108,14 @@ class _DialogMoreDemo extends State { ); } Widget build(BuildContext context) { - return new Column( + return Column( children: [ - new RaisedButton( - padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), + RaisedButton( + padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), //padding - child: new Text( + child: Text( '点我显示Dialog', - style: new TextStyle( + style: TextStyle( fontSize: 18.0, //textsize color: Colors.white, // textcolor ), diff --git a/lib/widgets/components/Dialog/SimpleDialog/demo.dart b/lib/widgets/components/Dialog/SimpleDialog/demo.dart index 9e9b002a..870d46c0 100644 --- a/lib/widgets/components/Dialog/SimpleDialog/demo.dart +++ b/lib/widgets/components/Dialog/SimpleDialog/demo.dart @@ -20,17 +20,17 @@ class _Demo extends State { showDialog( context: context, builder: (BuildContext context) { - return new SimpleDialog( - title: new Text('选择'), + return SimpleDialog( + title: Text('选择'), children: [ - new SimpleDialogOption( - child: new Text('选项 1'), + SimpleDialogOption( + child: Text('选项 1'), onPressed: () { Navigator.of(context).pop(); }, ), - new SimpleDialogOption( - child: new Text('选项 2'), + SimpleDialogOption( + child: Text('选项 2'), onPressed: () { Navigator.of(context).pop(); }, @@ -41,12 +41,12 @@ class _Demo extends State { ); } Widget build(BuildContext context) { - return new RaisedButton( - padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), + return RaisedButton( + padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0), //padding - child: new Text( + child: Text( 'show SimpleDialog', - style: new TextStyle( + style: TextStyle( fontSize: 18.0, //textsize color: Colors.white, // textcolor ), diff --git a/lib/widgets/components/Grid/GridPaper/demo.dart b/lib/widgets/components/Grid/GridPaper/demo.dart index 5a0f17e8..a1bf85c5 100644 --- a/lib/widgets/components/Grid/GridPaper/demo.dart +++ b/lib/widgets/components/Grid/GridPaper/demo.dart @@ -21,7 +21,7 @@ class _Demo extends State { return Container( height: 400, color: Color(0xffc91b3a), - child: new GridView.count( + child: GridView.count( crossAxisCount: 2, mainAxisSpacing: 10.0, crossAxisSpacing: 4.0, @@ -40,21 +40,21 @@ class _Demo extends State { ), GridPaper( color: Colors.red, - child: new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + child: Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), ), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), ], ) ); diff --git a/lib/widgets/components/Grid/GridTile/demo.dart b/lib/widgets/components/Grid/GridTile/demo.dart index 2936e155..17a0e048 100644 --- a/lib/widgets/components/Grid/GridTile/demo.dart +++ b/lib/widgets/components/Grid/GridTile/demo.dart @@ -21,7 +21,7 @@ class _Demo extends State { return Container( height: 400, color: Color(0xffc91b3a), - child: new GridView.count( + child: GridView.count( crossAxisCount: 2, mainAxisSpacing: 10.0, crossAxisSpacing: 4.0, @@ -36,21 +36,21 @@ class _Demo extends State { ), footer: Text("GridTile footer", style: TextStyle(color: Colors.white)), ), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), ], ) ); diff --git a/lib/widgets/components/Grid/GridTileBar/demo.dart b/lib/widgets/components/Grid/GridTileBar/demo.dart index adf85f36..b5e5ad98 100644 --- a/lib/widgets/components/Grid/GridTileBar/demo.dart +++ b/lib/widgets/components/Grid/GridTileBar/demo.dart @@ -21,7 +21,7 @@ class _Demo extends State { return Container( height: 400, color: Color(0xffc91b3a), - child: new GridView.count( + child: GridView.count( crossAxisCount: 2, mainAxisSpacing: 10.0, crossAxisSpacing: 4.0, @@ -38,21 +38,21 @@ class _Demo extends State { child: Container(), ), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), ], ) ); diff --git a/lib/widgets/components/Grid/GridView/demo.dart b/lib/widgets/components/Grid/GridView/demo.dart index adf85f36..b5e5ad98 100644 --- a/lib/widgets/components/Grid/GridView/demo.dart +++ b/lib/widgets/components/Grid/GridView/demo.dart @@ -21,7 +21,7 @@ class _Demo extends State { return Container( height: 400, color: Color(0xffc91b3a), - child: new GridView.count( + child: GridView.count( crossAxisCount: 2, mainAxisSpacing: 10.0, crossAxisSpacing: 4.0, @@ -38,21 +38,21 @@ class _Demo extends State { child: Container(), ), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), - new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), + Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover), ], ) ); diff --git a/lib/widgets/components/Grid/SliverGrid/demo.dart b/lib/widgets/components/Grid/SliverGrid/demo.dart index 8950e17f..6745c2cf 100644 --- a/lib/widgets/components/Grid/SliverGrid/demo.dart +++ b/lib/widgets/components/Grid/SliverGrid/demo.dart @@ -17,34 +17,34 @@ class SliverGridDemo extends StatefulWidget { class _Demo extends State { Widget showCustomScrollView() { - return new CustomScrollView( + return CustomScrollView( slivers: [ - new SliverGrid( - gridDelegate: new SliverGridDelegateWithMaxCrossAxisExtent( + SliverGrid( + gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent( maxCrossAxisExtent: 200.0, mainAxisSpacing: 10.0, crossAxisSpacing: 10.0, childAspectRatio: 4.0, ), - delegate: new SliverChildBuilderDelegate( + delegate: SliverChildBuilderDelegate( (BuildContext context, int index) { - return new Container( + return Container( alignment: Alignment.center, color: Colors.cyan[100 * (index % 5)], - child: new Text('grid item $index'), + child: Text('grid item $index'), ); }, childCount: 20, ), ), -// new SliverFixedExtentList( +// SliverFixedExtentList( // itemExtent: 100.0, -// delegate: new SliverChildBuilderDelegate( +// delegate: SliverChildBuilderDelegate( // (BuildContext context, int index) { -// return new Container( +// return Container( // alignment: Alignment.center, // color: Colors.lightBlue[100 * (index % 9)], -// child: new Text('list item $index'), +// child: Text('list item $index'), // ); // }, // ), diff --git a/lib/widgets/components/Grid/SliverGrid/index.dart b/lib/widgets/components/Grid/SliverGrid/index.dart index 926387af..cfdc138a 100644 --- a/lib/widgets/components/Grid/SliverGrid/index.dart +++ b/lib/widgets/components/Grid/SliverGrid/index.dart @@ -40,7 +40,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'SliverGrid', - codeUrl: 'components/Grid/GridPaper/demo.dart', + codeUrl: 'components/Grid/SliverGrid/demo.dart', contentList: [ _Text0, SliverGridDemo(), diff --git a/lib/widgets/components/LIst/AnimatedList/demo.dart b/lib/widgets/components/List/AnimatedList/demo.dart similarity index 86% rename from lib/widgets/components/LIst/AnimatedList/demo.dart rename to lib/widgets/components/List/AnimatedList/demo.dart index 78f457fb..f80b6739 100644 --- a/lib/widgets/components/LIst/AnimatedList/demo.dart +++ b/lib/widgets/components/List/AnimatedList/demo.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:flutter_go/widgets/components/LIst/AnimatedList/model.dart'; +import 'package:flutter_go/widgets/components/List/AnimatedList/model.dart'; class AnimatedListFullDefault extends StatefulWidget { AnimatedListFullDefault({Key key, this.parent}) : super(key: key); @@ -15,7 +15,7 @@ class AnimatedListFullDefault extends StatefulWidget { * AnimatedList 默认的实例,有状态 * */ class _AnimatedListFullDefault extends State { - final GlobalKey _listKey = new GlobalKey(); + final GlobalKey _listKey = GlobalKey(); ListModel _list; int _selectedItem; int _nextItem; // The next item inserted when the user presses the '+' button. @@ -26,7 +26,7 @@ class _AnimatedListFullDefault extends State { if (widget.parent is State) { widget.parent.animatedList = this; // 修改父级的对象引用 } - _list = new ListModel( + _list = ListModel( listKey: _listKey, initialItems: [0, 1, 2], removedItemBuilder: _buildRemovedItem, @@ -50,7 +50,7 @@ class _AnimatedListFullDefault extends State { } Widget _buildItem(BuildContext context, int index, Animation animation) { - return new CardItem( + return CardItem( animation: animation, item: _list[index], selected: _selectedItem == _list[index], @@ -63,7 +63,7 @@ class _AnimatedListFullDefault extends State { } Widget _buildRemovedItem(int item, BuildContext context, Animation animation) { - return new CardItem( + return CardItem( animation: animation, item: item, selected: false, @@ -107,20 +107,20 @@ class CardItem extends StatelessWidget { TextStyle textStyle = Theme.of(context).textTheme.display1; if (selected) textStyle = textStyle.copyWith(color: Colors.lightGreenAccent[400]); - return new Padding( + return Padding( padding: const EdgeInsets.all(2.0), - child: new SizeTransition( + child: SizeTransition( axis: Axis.vertical, sizeFactor: animation, - child: new GestureDetector( + child: GestureDetector( behavior: HitTestBehavior.opaque, onTap: onTap, - child: new SizedBox( + child: SizedBox( height: 128.0, - child: new Card( + child: Card( color: Colors.primaries[item % Colors.primaries.length], - child: new Center( - child: new Text('Item $item', style: textStyle), + child: Center( + child: Text('Item $item', style: textStyle), ), ), ), diff --git a/lib/widgets/components/LIst/AnimatedList/index.dart b/lib/widgets/components/List/AnimatedList/index.dart similarity index 95% rename from lib/widgets/components/LIst/AnimatedList/index.dart rename to lib/widgets/components/List/AnimatedList/index.dart index 2392ab46..a2197110 100644 --- a/lib/widgets/components/LIst/AnimatedList/index.dart +++ b/lib/widgets/components/List/AnimatedList/index.dart @@ -32,7 +32,7 @@ const String _Text1 = class Demo extends StatefulWidget { - static const String routeName = '/components//List/AnimatedList'; + static const String routeName = '/components/List/AnimatedList'; @override _DemoState createState() => _DemoState(); @@ -58,7 +58,7 @@ class _DemoState extends State { */ Widget allDemoBoxs(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/components/LIst/AnimatedList/model.dart b/lib/widgets/components/List/AnimatedList/model.dart similarity index 96% rename from lib/widgets/components/LIst/AnimatedList/model.dart rename to lib/widgets/components/List/AnimatedList/model.dart index d990eb72..07b93853 100644 --- a/lib/widgets/components/LIst/AnimatedList/model.dart +++ b/lib/widgets/components/List/AnimatedList/model.dart @@ -25,7 +25,7 @@ class ListModel { Iterable initialItems, }) : assert(listKey != null), assert(removedItemBuilder != null), - _items = new List.from(initialItems ?? []); + _items = List.from(initialItems ?? []); final GlobalKey listKey; final dynamic removedItemBuilder; diff --git a/lib/widgets/components/LIst/ListBody/demo.dart b/lib/widgets/components/List/ListBody/demo.dart similarity index 100% rename from lib/widgets/components/LIst/ListBody/demo.dart rename to lib/widgets/components/List/ListBody/demo.dart diff --git a/lib/widgets/components/LIst/ListBody/index.dart b/lib/widgets/components/List/ListBody/index.dart similarity index 96% rename from lib/widgets/components/LIst/ListBody/index.dart rename to lib/widgets/components/List/ListBody/index.dart index 1699540b..f5ea6f0d 100644 --- a/lib/widgets/components/LIst/ListBody/index.dart +++ b/lib/widgets/components/List/ListBody/index.dart @@ -55,7 +55,7 @@ class _DemoState extends State { */ Widget allCheckboxs(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/components/LIst/ListView/demo.dart b/lib/widgets/components/List/ListView/demo.dart similarity index 100% rename from lib/widgets/components/LIst/ListView/demo.dart rename to lib/widgets/components/List/ListView/demo.dart diff --git a/lib/widgets/components/LIst/ListView/index.dart b/lib/widgets/components/List/ListView/index.dart similarity index 96% rename from lib/widgets/components/LIst/ListView/index.dart rename to lib/widgets/components/List/ListView/index.dart index 1bbebf52..01a6d246 100644 --- a/lib/widgets/components/LIst/ListView/index.dart +++ b/lib/widgets/components/List/ListView/index.dart @@ -67,7 +67,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'ListView', - codeUrl: '/componentss/List/ListView/demo.dart', + codeUrl: 'components/List/ListView/demo.dart', contentList: [allCheckboxs(context, this)], docUrl: 'https://docs.flutter.io/flutter/widgets/ListView-class.html', ); @@ -81,7 +81,7 @@ class _DemoState extends State { */ Widget allCheckboxs(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -107,7 +107,7 @@ Widget allCheckboxs(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/components/LIst/index.dart b/lib/widgets/components/List/index.dart similarity index 100% rename from lib/widgets/components/LIst/index.dart rename to lib/widgets/components/List/index.dart diff --git a/lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart b/lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart index 8bbe3dce..77e2f4ac 100644 --- a/lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart +++ b/lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart @@ -36,8 +36,8 @@ class _CheckedPopupMenuItemDemoState extends State { _checkedValues.add(value); } - Scaffold.of(context).showSnackBar(new SnackBar( - content: new Text('Checked $_checkedValues'))); + Scaffold.of(context).showSnackBar( SnackBar( + content: Text('Checked $_checkedValues'))); } @override diff --git a/lib/widgets/components/Menu/PopupMenuButton/demo.dart b/lib/widgets/components/Menu/PopupMenuButton/demo.dart index f992f0f1..0ed78204 100644 --- a/lib/widgets/components/Menu/PopupMenuButton/demo.dart +++ b/lib/widgets/components/Menu/PopupMenuButton/demo.dart @@ -19,8 +19,8 @@ class _PopupMenuButtonDemoState extends State { void showMenuSelection(String value) { if ([_simpleValue1, _simpleValue2, _simpleValue3].contains(value)) _simpleValue = value; - Scaffold.of(context).showSnackBar(new SnackBar( - content: new Text('You selected: $value'))); + Scaffold.of(context).showSnackBar( SnackBar( + content: Text('You selected: $value'))); } diff --git a/lib/widgets/components/Menu/PopupMenuDivider/demo.dart b/lib/widgets/components/Menu/PopupMenuDivider/demo.dart index 94e2f8df..72d35b38 100644 --- a/lib/widgets/components/Menu/PopupMenuDivider/demo.dart +++ b/lib/widgets/components/Menu/PopupMenuDivider/demo.dart @@ -13,7 +13,7 @@ class PopupMenuDividerDemo extends StatefulWidget { class _PopupMenuDividerDemoState extends State { void showInSnackBar(String value) { Scaffold.of(context) - .showSnackBar(new SnackBar(content: new Text('You selected: $value'))); + .showSnackBar( SnackBar(content: Text('You selected: $value'))); } @override diff --git a/lib/widgets/components/Menu/PopupMenuDivider/index.dart b/lib/widgets/components/Menu/PopupMenuDivider/index.dart index 92beca57..e19d2d9f 100644 --- a/lib/widgets/components/Menu/PopupMenuDivider/index.dart +++ b/lib/widgets/components/Menu/PopupMenuDivider/index.dart @@ -18,7 +18,7 @@ const String content0 = ''' const String content1 = ''' ### **基本用法** > 此widget通过调整Divider widget 来适应于弹出菜单中 -- 在 PopupMenuButton 中直接 new PopupMenuDivider() 即可 +- 在 PopupMenuButton 中直接 PopupMenuDivider() 即可 '''; class Demo extends StatefulWidget { diff --git a/lib/widgets/components/Menu/PopupMenuEntry/index.dart b/lib/widgets/components/Menu/PopupMenuEntry/index.dart index e5c46fe9..6443f446 100644 --- a/lib/widgets/components/Menu/PopupMenuEntry/index.dart +++ b/lib/widgets/components/Menu/PopupMenuEntry/index.dart @@ -34,7 +34,7 @@ class _DemoState extends State { PopupMenuDividerDemo() ], docUrl: 'https://docs.flutter.io/flutter/material/PopupMenuEntry-class.html', - codeUrl: 'components/Menu/PopupMenuEntry/demo.dart', + codeUrl: 'components/Menu/PopupMenuDivider/demo.dart', title: 'PopupMenuEntry', ); } diff --git a/lib/widgets/components/Menu/PopupMenuItem/index.dart b/lib/widgets/components/Menu/PopupMenuItem/index.dart index f8b8e315..1e1705b9 100644 --- a/lib/widgets/components/Menu/PopupMenuItem/index.dart +++ b/lib/widgets/components/Menu/PopupMenuItem/index.dart @@ -34,7 +34,7 @@ class _DemoState extends State { PopupMenuDividerDemo() ], docUrl: "https://docs.flutter.io/flutter/material/PopupMenuItem-class.html", - codeUrl: 'components/Menu/PopupMenuEntry/demo.dart', + codeUrl: 'components/Menu/PopupMenuDivider/demo.dart', title: 'PopupMenuItem', ); } diff --git a/lib/widgets/components/Navigation/BottomNavigationBar/demo.dart b/lib/widgets/components/Navigation/BottomNavigationBar/demo.dart index bfb57610..03c27465 100644 --- a/lib/widgets/components/Navigation/BottomNavigationBar/demo.dart +++ b/lib/widgets/components/Navigation/BottomNavigationBar/demo.dart @@ -40,17 +40,17 @@ class _BottomNavigationBarFullDefault extends State { fixedColor: Colors.deepPurple, // 如果 type 类型为 fixed,则通过 fixedColor 设置选中 item 的颜色 items: [ BottomNavigationBarItem( - title: new Text("Home"), icon: new Icon(Icons.home)), + title: Text("Home"), icon: Icon(Icons.home)), BottomNavigationBarItem( - title: new Text("List"), icon: new Icon(Icons.list)), + title: Text("List"), icon: Icon(Icons.list)), BottomNavigationBarItem( - title: new Text("Message"), icon: new Icon(Icons.message)), + title: Text("Message"), icon: Icon(Icons.message)), BottomNavigationBarItem( - title: new Text("add"), icon: new Icon(Icons.add)), + title: Text("add"), icon: Icon(Icons.add)), BottomNavigationBarItem( - title: new Text("menu"), icon: new Icon(Icons.menu)), + title: Text("menu"), icon: Icon(Icons.menu)), BottomNavigationBarItem( - title: new Text("other"), icon: new Icon(Icons.devices_other)), + title: Text("other"), icon: Icon(Icons.devices_other)), ], ); diff --git a/lib/widgets/components/Navigation/BottomNavigationBar/index.dart b/lib/widgets/components/Navigation/BottomNavigationBar/index.dart index c73376fc..56b28548 100644 --- a/lib/widgets/components/Navigation/BottomNavigationBar/index.dart +++ b/lib/widgets/components/Navigation/BottomNavigationBar/index.dart @@ -57,7 +57,7 @@ class _DemoState extends State { */ Widget allDemoBoxs(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -79,7 +79,7 @@ Widget allDemoBoxs(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/components/Navigation/BottomNavigationBarItem/demo.dart b/lib/widgets/components/Navigation/BottomNavigationBarItem/demo.dart index 03851151..dc31ea12 100644 --- a/lib/widgets/components/Navigation/BottomNavigationBarItem/demo.dart +++ b/lib/widgets/components/Navigation/BottomNavigationBarItem/demo.dart @@ -21,20 +21,20 @@ class BottomNavigationBarItemLessDefault extends StatelessWidget { @override Widget build(BuildContext context) { - return new SizedBox( + return SizedBox( height: 100, child: Scaffold( - bottomNavigationBar: new BottomNavigationBar(items: [ - new BottomNavigationBarItem( - icon: new Icon(Icons.laptop_chromebook), - title: new Text("主页"), + bottomNavigationBar: BottomNavigationBar(items: [ + BottomNavigationBarItem( + icon: Icon(Icons.laptop_chromebook), + title: Text("主页"), backgroundColor: Colors.red ), - new BottomNavigationBarItem( - icon: new Icon(Icons.list), title: new Text("分类"),backgroundColor: Colors.grey), - new BottomNavigationBarItem( - icon: new Icon(Icons.local_grocery_store), title: new Text("购物车")), - new BottomNavigationBarItem(icon: new Icon(Icons.person), title: new Text("我的")) + BottomNavigationBarItem( + icon: Icon(Icons.list), title: Text("分类"),backgroundColor: Colors.grey), + BottomNavigationBarItem( + icon: Icon(Icons.local_grocery_store), title: Text("购物车")), + BottomNavigationBarItem(icon: Icon(Icons.person), title: Text("我的")) ], //onTap: onTap, //currentIndex: page @@ -46,13 +46,13 @@ class BottomNavigationBarItemLessDefault extends StatelessWidget { //backgroundColor: Colors.grey, // -//// body: new PageView( +//// body: PageView( //// //// children: [ -//// new Index(), -//// new Classify(), -//// new Shopping(), -//// new Myself() +//// Index(), +//// Classify(), +//// Shopping(), +//// Myself() //// ], //// //// controller: pageController, diff --git a/lib/widgets/components/Navigation/BottomNavigationBarItem/index.dart b/lib/widgets/components/Navigation/BottomNavigationBarItem/index.dart index c1589873..e181e6b8 100644 --- a/lib/widgets/components/Navigation/BottomNavigationBarItem/index.dart +++ b/lib/widgets/components/Navigation/BottomNavigationBarItem/index.dart @@ -52,7 +52,7 @@ class _DemoState extends State { */ Widget allCheckboxs(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -70,7 +70,7 @@ Widget allCheckboxs(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/components/Pick/DayPicker/demo.dart b/lib/widgets/components/Pick/DayPicker/demo.dart index 36f249d1..445c4242 100644 --- a/lib/widgets/components/Pick/DayPicker/demo.dart +++ b/lib/widgets/components/Pick/DayPicker/demo.dart @@ -14,8 +14,8 @@ class DayPickerDemo extends StatefulWidget { } class _DayPickerState extends State { - DateTime _date = new DateTime.now(); - TimeOfDay _time = new TimeOfDay.now(); + DateTime _date = DateTime.now(); + TimeOfDay _time = TimeOfDay.now(); Future _selectDate(BuildContext context) async { final DateTime picked = await showDatePicker( @@ -29,7 +29,7 @@ class _DayPickerState extends State { _date = picked; }); - if (picked == null) _date = new DateTime.now(); + if (picked == null) _date = DateTime.now(); } Future _selectTime(BuildContext context) async { @@ -40,23 +40,23 @@ class _DayPickerState extends State { setState(() { _time = picked; }); - if (picked == null) _time = new TimeOfDay.now(); + if (picked == null) _time = TimeOfDay.now(); } @override Widget build(BuildContext context) { - return new Column( + return Column( children: [ - new Text('日期选择'), - new RaisedButton( - child: new Text('date selected:${_date.toString()}'), + Text('日期选择'), + RaisedButton( + child: Text('date selected:${_date.toString()}'), onPressed: () { _selectDate(context); }, ), - new Text('时间选择'), - new RaisedButton( - child: new Text('date selected:${_time.toString()}'), + Text('时间选择'), + RaisedButton( + child: Text('date selected:${_time.toString()}'), onPressed: () { _selectTime(context); }, diff --git a/lib/widgets/components/Pick/MonthPicker/demo.dart b/lib/widgets/components/Pick/MonthPicker/demo.dart index 40c053d8..808e6bf7 100644 --- a/lib/widgets/components/Pick/MonthPicker/demo.dart +++ b/lib/widgets/components/Pick/MonthPicker/demo.dart @@ -14,7 +14,7 @@ class MothPickerDemo extends StatefulWidget { } class _MothPickerState extends State { - DateTime _date = new DateTime.now(); + DateTime _date = DateTime.now(); Future _selectDate(BuildContext context) async { final DateTime picked = await showDatePicker( @@ -28,16 +28,16 @@ class _MothPickerState extends State { _date = picked; }); - if (picked == null) _date = new DateTime.now(); + if (picked == null) _date = DateTime.now(); } @override Widget build(BuildContext context) { - return new Column( + return Column( children: [ - new Text('日期选择'), - new RaisedButton( - child: new Text('date selected:${_date.toString()}'), + Text('日期选择'), + RaisedButton( + child: Text('date selected:${_date.toString()}'), onPressed: () { _selectDate(context); }, diff --git a/lib/widgets/components/Pick/ShowdatePicker/demo.dart b/lib/widgets/components/Pick/ShowdatePicker/demo.dart index c18bdded..e62520e9 100644 --- a/lib/widgets/components/Pick/ShowdatePicker/demo.dart +++ b/lib/widgets/components/Pick/ShowdatePicker/demo.dart @@ -14,8 +14,8 @@ class ShowDatePickerDemo extends StatefulWidget { } class _ShowDatePickerState extends State { - DateTime _date = new DateTime.now(); - TimeOfDay _time = new TimeOfDay.now(); + DateTime _date = DateTime.now(); + TimeOfDay _time = TimeOfDay.now(); Future _selectDate(BuildContext context) async { final DateTime picked = await showDatePicker( @@ -29,7 +29,7 @@ class _ShowDatePickerState extends State { _date = picked; }); - if (picked == null) _date = new DateTime.now(); + if (picked == null) _date = DateTime.now(); } Future _selectTime(BuildContext context) async { @@ -40,23 +40,23 @@ class _ShowDatePickerState extends State { setState(() { _time = picked; }); - if (picked == null) _time = new TimeOfDay.now(); + if (picked == null) _time = TimeOfDay.now(); } @override Widget build(BuildContext context) { - return new Column( + return Column( children: [ - new Text('日期选择'), - new RaisedButton( - child: new Text('date selected:${_date.toString()}'), + Text('日期选择'), + RaisedButton( + child: Text('date selected:${_date.toString()}'), onPressed: () { _selectDate(context); }, ), - new Text('时间选择'), - new RaisedButton( - child: new Text('date selected:${_time.toString()}'), + Text('时间选择'), + RaisedButton( + child: Text('date selected:${_time.toString()}'), onPressed: () { _selectTime(context); }, diff --git a/lib/widgets/components/Pick/YearPicker/demo.dart b/lib/widgets/components/Pick/YearPicker/demo.dart index 2a9694e7..1755e9e8 100644 --- a/lib/widgets/components/Pick/YearPicker/demo.dart +++ b/lib/widgets/components/Pick/YearPicker/demo.dart @@ -14,7 +14,7 @@ class YearPickerDemo extends StatefulWidget { } class _YearPickerDemoState extends State { - DateTime _date = new DateTime.now(); + DateTime _date = DateTime.now(); Future _selectDate(BuildContext context) async { final DateTime picked = await showDatePicker( @@ -28,16 +28,16 @@ class _YearPickerDemoState extends State { _date = picked; }); - if (picked == null) _date = new DateTime.now(); + if (picked == null) _date = DateTime.now(); } @override Widget build(BuildContext context) { - return new Column( + return Column( children: [ - new Text('日期选择'), - new RaisedButton( - child: new Text('date selected:${_date.toString()}'), + Text('日期选择'), + RaisedButton( + child: Text('date selected:${_date.toString()}'), onPressed: () { _selectDate(context); }, diff --git a/lib/widgets/components/Progress/CircularProgressIndicator/index.dart b/lib/widgets/components/Progress/CircularProgressIndicator/index.dart index 5a44e5e7..a90ddc2d 100644 --- a/lib/widgets/components/Progress/CircularProgressIndicator/index.dart +++ b/lib/widgets/components/Progress/CircularProgressIndicator/index.dart @@ -38,7 +38,7 @@ class _DemoState extends State { content1, CircularDemo(), ], - codeUrl: '/components/Progress/CircularProgressIndicator/demo.dart', + codeUrl: 'components/Progress/CircularProgressIndicator/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/LinearProgressIndicator-class.html', title: 'CircularProgressIndicator'); diff --git a/lib/widgets/components/Progress/LinearProgressIndicator/index.dart b/lib/widgets/components/Progress/LinearProgressIndicator/index.dart index 9d2c1a32..4d8d635f 100644 --- a/lib/widgets/components/Progress/LinearProgressIndicator/index.dart +++ b/lib/widgets/components/Progress/LinearProgressIndicator/index.dart @@ -38,7 +38,7 @@ class _DemoState extends State { content1, LinearProgressIndicatorDemo(), ], - codeUrl: '/components/Progress/LinearProgressIndicator/demo.dart', + codeUrl: 'components/Progress/LinearProgressIndicator/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/LinearProgressIndicator-class.html', title: 'LinearProgressIndicator'); diff --git a/lib/widgets/components/Progress/RefreshProgressIndicator/index.dart b/lib/widgets/components/Progress/RefreshProgressIndicator/index.dart index bd447cc9..b9c436fb 100644 --- a/lib/widgets/components/Progress/RefreshProgressIndicator/index.dart +++ b/lib/widgets/components/Progress/RefreshProgressIndicator/index.dart @@ -35,7 +35,7 @@ class _DemoState extends State { content1, // LinearProgressIndicatorDemo(), ], - codeUrl: '/components/Progress/RefreshProgressIndicator/demo.dart', + codeUrl: 'components/Progress/RefreshProgressIndicator/demo.dart', docUrl:'https://docs.flutter.io/flutter/material/RefreshProgressIndicator-class.html', title: 'RefreshProgressIndicator'); } diff --git a/lib/widgets/components/Scaffold/Scaffold/demo.dart b/lib/widgets/components/Scaffold/Scaffold/demo.dart index 30bed6e8..e5d31773 100644 --- a/lib/widgets/components/Scaffold/Scaffold/demo.dart +++ b/lib/widgets/components/Scaffold/Scaffold/demo.dart @@ -37,9 +37,9 @@ class _ScaffoldDemo extends State with SingleTickerProviderStateMixin { // 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。 // 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。 // 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。 - return new SizedBox( + return SizedBox( height: 500, - child: new Scaffold( + child: Scaffold( appBar: AppBar( title: Text('Sample Code'), ), diff --git a/lib/widgets/components/Scaffold/Scaffold/index.dart b/lib/widgets/components/Scaffold/Scaffold/index.dart index 95b0d9ce..280ee05d 100644 --- a/lib/widgets/components/Scaffold/Scaffold/index.dart +++ b/lib/widgets/components/Scaffold/Scaffold/index.dart @@ -56,7 +56,7 @@ class _DemoState extends State { codeUrl: 'components/Scaffold/Scaffold/demo.dart', contentList: [ _Text0, - new ScaffoldDemo(), + ScaffoldDemo(), ], docUrl: 'https://docs.flutter.io/flutter/material/Scaffold-class.html', ); diff --git a/lib/widgets/components/Scaffold/ScaffoldState/demo.dart b/lib/widgets/components/Scaffold/ScaffoldState/demo.dart index 9c31dbd0..5ecc0ad7 100644 --- a/lib/widgets/components/Scaffold/ScaffoldState/demo.dart +++ b/lib/widgets/components/Scaffold/ScaffoldState/demo.dart @@ -28,9 +28,9 @@ class _ScaffoldStateDemo extends State with SingleTickerProviderStateMixin { // 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。 // 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。 // 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。 - return new SizedBox( + return SizedBox( height: 500, - child:new Scaffold( + child: Scaffold( key:_scaffoldKey, appBar: AppBar( title: Text('ScaffoldState Demo'), diff --git a/lib/widgets/components/Scroll/ScrollPhysics/demo.dart b/lib/widgets/components/Scroll/ScrollPhysics/demo.dart index 9cd6018d..5ded6c44 100644 --- a/lib/widgets/components/Scroll/ScrollPhysics/demo.dart +++ b/lib/widgets/components/Scroll/ScrollPhysics/demo.dart @@ -11,7 +11,7 @@ class ScrollPhysicsDemo extends StatefulWidget { } class _ScrollPhysicsDemoState extends State { - final PageController _pageController = new PageController(); + final PageController _pageController = PageController(); double _currentPage = 0.0; @override @@ -54,21 +54,21 @@ class _SimplePage extends StatelessWidget { final double parallaxOffset; @override - Widget build(BuildContext context) => new Center( + Widget build(BuildContext context) => Center( child: Container( color: Theme.of(context).primaryColor, - child: new Center( - child: new Column( + child: Center( + child: Column( mainAxisSize: MainAxisSize.min, children: [ - new Text( + Text( data, style: const TextStyle(fontSize: 60.0,color: Colors.white), ), - new SizedBox(height: 40.0), - new Transform( + SizedBox(height: 40.0), + Transform( transform: - new Matrix4.translationValues(parallaxOffset, 0.0, 0.0), + Matrix4.translationValues(parallaxOffset, 0.0, 0.0), child: const Text('左右滑动,这是第二行滚动速度更快的小字',style: const TextStyle(fontSize: 16.0,color: Colors.white),), ), ], diff --git a/lib/widgets/elements/Form/Button/DropdownButton/demo.dart b/lib/widgets/elements/Form/Button/DropdownButton/demo.dart index a2a97503..65af9e25 100644 --- a/lib/widgets/elements/Form/Button/DropdownButton/demo.dart +++ b/lib/widgets/elements/Form/Button/DropdownButton/demo.dart @@ -17,15 +17,15 @@ var selectItemValue; class DropdownButtonDefault extends StatelessWidget { List generateItemList() { - final List items = new List(); - final DropdownMenuItem item1 = new DropdownMenuItem( - value: '张三', child: new Text('张三')); - final DropdownMenuItem item2 = new DropdownMenuItem( - value: '李四', child: new Text('李四')); - final DropdownMenuItem item3 = new DropdownMenuItem( - value: '王二', child: new Text('王二')); - final DropdownMenuItem item4 = new DropdownMenuItem( - value: '麻子', child: new Text('麻子')); + final List items = List(); + final DropdownMenuItem item1 = DropdownMenuItem( + value: '张三', child: Text('张三')); + final DropdownMenuItem item2 = DropdownMenuItem( + value: '李四', child: Text('李四')); + final DropdownMenuItem item3 = DropdownMenuItem( + value: '王二', child: Text('王二')); + final DropdownMenuItem item4 = DropdownMenuItem( + value: '麻子', child: Text('麻子')); items.add(item1); items.add(item2); items.add(item3); @@ -36,7 +36,7 @@ class DropdownButtonDefault extends StatelessWidget { @override Widget build(BuildContext context) { return DropdownButton( - hint: new Text('下拉菜单选择一个人名'), + hint: Text('下拉菜单选择一个人名'), //设置这个value之后,选中对应位置的item, //再次呼出下拉菜单,会自动定位item位置在当前按钮显示的位置处 value: selectItValue, @@ -51,54 +51,54 @@ class DropdownButtonDefault extends StatelessWidget { } List getListData(){ - List items=new List(); - DropdownMenuItem dropdownMenuItem1=new DropdownMenuItem( - child:new Text('1'), + List items= List(); + DropdownMenuItem dropdownMenuItem1= DropdownMenuItem( + child: Text('1'), value: '1', ); items.add(dropdownMenuItem1); - DropdownMenuItem dropdownMenuItem2=new DropdownMenuItem( - child:new Text('2'), + DropdownMenuItem dropdownMenuItem2= DropdownMenuItem( + child: Text('2'), value: '2', ); items.add(dropdownMenuItem2); - DropdownMenuItem dropdownMenuItem3=new DropdownMenuItem( - child:new Text('3'), + DropdownMenuItem dropdownMenuItem3= DropdownMenuItem( + child: Text('3'), value: '3', ); items.add(dropdownMenuItem3); - DropdownMenuItem dropdownMenuItem4=new DropdownMenuItem( - child:new Text('4'), + DropdownMenuItem dropdownMenuItem4= DropdownMenuItem( + child: Text('4'), value: '4', ); items.add(dropdownMenuItem4); - DropdownMenuItem dropdownMenuItem5=new DropdownMenuItem( - child:new Text('5'), + DropdownMenuItem dropdownMenuItem5= DropdownMenuItem( + child: Text('5'), value: '5', ); items.add(dropdownMenuItem5); - DropdownMenuItem dropdownMenuItem6=new DropdownMenuItem( - child:new Text('6'), + DropdownMenuItem dropdownMenuItem6= DropdownMenuItem( + child: Text('6'), value: '6', ); items.add(dropdownMenuItem6); - DropdownMenuItem dropdownMenuItem7=new DropdownMenuItem( - child:new Text('7'), + DropdownMenuItem dropdownMenuItem7= DropdownMenuItem( + child: Text('7'), value: '7', ); items.add(dropdownMenuItem7); - DropdownMenuItem dropdownMenuItem8=new DropdownMenuItem( - child:new Text('8'), + DropdownMenuItem dropdownMenuItem8= DropdownMenuItem( + child: Text('8'), value: '8', ); items.add(dropdownMenuItem8); - DropdownMenuItem dropdownMenuItem9=new DropdownMenuItem( - child:new Text('9'), + DropdownMenuItem dropdownMenuItem9= DropdownMenuItem( + child: Text('9'), value: '9', ); items.add(dropdownMenuItem9); - DropdownMenuItem dropdownMenuItem10=new DropdownMenuItem( - child:new Text('10'), + DropdownMenuItem dropdownMenuItem10= DropdownMenuItem( + child: Text('10'), value: '10', ); items.add(dropdownMenuItem10); diff --git a/lib/widgets/elements/Form/Button/DropdownButton/index.dart b/lib/widgets/elements/Form/Button/DropdownButton/index.dart index b6f98d4e..1947f256 100644 --- a/lib/widgets/elements/Form/Button/DropdownButton/index.dart +++ b/lib/widgets/elements/Form/Button/DropdownButton/index.dart @@ -62,7 +62,7 @@ class _DemoState extends State { */ Widget allDropdownButtons(BuildContext context,_DemoState that){ return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -87,14 +87,14 @@ Widget allDropdownButtons(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } diff --git a/lib/widgets/elements/Form/Button/FlatButton/demo.dart b/lib/widgets/elements/Form/Button/FlatButton/demo.dart index ee2b36c4..845420c2 100644 --- a/lib/widgets/elements/Form/Button/FlatButton/demo.dart +++ b/lib/widgets/elements/Form/Button/FlatButton/demo.dart @@ -101,9 +101,9 @@ class FlatButtonCustom extends StatelessWidget { splashColor: Colors.deepPurple, // 抗锯齿能力,抗锯齿等级依次递增,none(默认),hardEdge,antiAliasWithSaveLayer,antiAlias clipBehavior: Clip.antiAlias, - padding: new EdgeInsets.only( + padding: EdgeInsets.only( bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), - shape: (shape is ShapeBorder) ? shape : new Border.all( + shape: (shape is ShapeBorder) ? shape : Border.all( // 设置边框样式 color: Colors.grey, width: 2.0, diff --git a/lib/widgets/elements/Form/Button/FlatButton/index.dart b/lib/widgets/elements/Form/Button/FlatButton/index.dart index faf80259..967fb8a9 100644 --- a/lib/widgets/elements/Form/Button/FlatButton/index.dart +++ b/lib/widgets/elements/Form/Button/FlatButton/index.dart @@ -64,7 +64,7 @@ class _DemoState extends State { */ Widget allFlatButtons(BuildContext context){ return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -109,7 +109,7 @@ Widget allFlatButtons(BuildContext context){ flatButton.FlatButtonCustom('危险按钮',Colors.pink), SizedBox(height: 10.0), flatButton.FlatButtonCustom('点击我试试!', Colors.red, - new Border.all(color: Colors.brown, width: 5.0, style: BorderStyle.solid), + Border.all(color: Colors.brown, width: 5.0, style: BorderStyle.solid), () => _showMessage('点击了 FLAT BUTTON ', context)), SizedBox(height: 20.0) ]) @@ -126,16 +126,16 @@ void _showMessage(String name, BuildContext context) { context: context, builder: (BuildContext context) { return AlertDialog( - title: new Text('提示'), - content: new Text(name), + title: Text('提示'), + content: Text(name), actions: [ - new FlatButton( + FlatButton( // alert 的取消按钮 onPressed: () { // 取消的事件 Navigator.of(context).pop(true); }, - child: new Text('取消')) + child: Text('取消')) ]); } ); @@ -145,14 +145,14 @@ void _showMessage(String name, BuildContext context) { * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } diff --git a/lib/widgets/elements/Form/Button/FloatingActionButton/demo.dart b/lib/widgets/elements/Form/Button/FloatingActionButton/demo.dart index f4188499..e4fbba56 100644 --- a/lib/widgets/elements/Form/Button/FloatingActionButton/demo.dart +++ b/lib/widgets/elements/Form/Button/FloatingActionButton/demo.dart @@ -49,7 +49,7 @@ class FloatingActionButtonCustom extends StatelessWidget { @override Widget build(BuildContext context) { final _onPressed = onPressed; - return new FloatingActionButton( + return FloatingActionButton( // 子视图,一般为Icon,不推荐使用文字 child: const Icon(Icons.refresh), // FAB的文字解释,FAB被长按时显示,也是无障碍功能 @@ -109,8 +109,8 @@ class FloatingActionButtonCustom2 extends StatelessWidget { foregroundColor: Colors.white, backgroundColor: Colors.amber, //如果不手动设置icon和text颜色,则默认使用foregroundColor颜色 - icon: new Icon(Icons.flag,color: Colors.red), - label: new Text('FloatingActionButton.extended', maxLines: 1), + icon: Icon(Icons.flag,color: Colors.red), + label: Text('FloatingActionButton.extended', maxLines: 1), ); } } diff --git a/lib/widgets/elements/Form/Button/FloatingActionButton/index.dart b/lib/widgets/elements/Form/Button/FloatingActionButton/index.dart index e7cbb728..9bc53719 100644 --- a/lib/widgets/elements/Form/Button/FloatingActionButton/index.dart +++ b/lib/widgets/elements/Form/Button/FloatingActionButton/index.dart @@ -72,7 +72,7 @@ class _DemoState extends State { Widget allFloatingActionButtons(BuildContext context,_DemoState that){ final ShapeBorder buttonShape = drawShape(that.buttonShapeType); return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -109,16 +109,16 @@ Widget allFloatingActionButtons(BuildContext context,_DemoState that){ // context: context, // builder: (BuildContext context) { // return AlertDialog( -// title: new Text('提示'), -// content: new Text(name), +// title: Text('提示'), +// content: Text(name), // actions: [ -// new FlatButton( +// FlatButton( // // alert 的取消按钮 // onPressed: () { // // 取消的事件 // Navigator.of(context).pop(true); // }, -// child: new Text('取消')) +// child: Text('取消')) // ]); // } // ); @@ -128,14 +128,14 @@ Widget allFloatingActionButtons(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } @@ -159,7 +159,7 @@ ShapeBorder drawShape(String type){ break; case 'radius': return RoundedRectangleBorder( - side:new BorderSide( // 保留原来的边框样式 + side: BorderSide( // 保留原来的边框样式 width: borderWidth, color: _color, style: BorderStyle.solid, diff --git a/lib/widgets/elements/Form/Button/IconButton/demo.dart b/lib/widgets/elements/Form/Button/IconButton/demo.dart index d59f5a13..5a8077fb 100644 --- a/lib/widgets/elements/Form/Button/IconButton/demo.dart +++ b/lib/widgets/elements/Form/Button/IconButton/demo.dart @@ -75,7 +75,7 @@ class IconButtonCustom extends StatelessWidget { iconSize:(Random.secure().nextInt(20)+20).toDouble(), // 随机大小 // 按钮内部,墨汁飞溅的颜色,点击按钮时的渐变背景色,当你不设置高亮背景时才会看的更清楚 splashColor: _randomColor(), - padding: new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), + padding: EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), // 描述按下按钮时将发生的操作的文本 tooltip:'这是${ type.codePoint }信息', // IconButton 的点击事件 diff --git a/lib/widgets/elements/Form/Button/IconButton/index.dart b/lib/widgets/elements/Form/Button/IconButton/index.dart index 278173b9..94328e59 100644 --- a/lib/widgets/elements/Form/Button/IconButton/index.dart +++ b/lib/widgets/elements/Form/Button/IconButton/index.dart @@ -66,7 +66,7 @@ class _DemoState extends State { Widget allIconButtons(BuildContext context,_DemoState that){ final ShapeBorder buttonShape = drawShape(that.buttonShapeType); return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -106,14 +106,14 @@ Widget allIconButtons(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } @@ -137,7 +137,7 @@ ShapeBorder drawShape(String type){ break; case 'radius': return RoundedRectangleBorder( - side:new BorderSide( // 保留原来的边框样式 + side: BorderSide( // 保留原来的边框样式 width: borderWidth, color: _color, style: BorderStyle.solid, diff --git a/lib/widgets/elements/Form/Button/OutlineButton/demo.dart b/lib/widgets/elements/Form/Button/OutlineButton/demo.dart index 582d7135..39d4b313 100644 --- a/lib/widgets/elements/Form/Button/OutlineButton/demo.dart +++ b/lib/widgets/elements/Form/Button/OutlineButton/demo.dart @@ -79,7 +79,7 @@ class OutlineButtonCustom extends StatelessWidget { // 文本内容 child: Text(txt, semanticsLabel: 'FLAT BUTTON 2'), // 边框的颜色,颜色也可以走主题色 Theme.of(context).primaryColor - borderSide:new BorderSide(color: _randomColor(),width:Random.secure().nextInt(10).toDouble()), + borderSide: BorderSide(color: _randomColor(),width:Random.secure().nextInt(10).toDouble()), // 按钮颜色 color: _randomColor(), // 按钮失效时边框颜色 @@ -100,7 +100,7 @@ class OutlineButtonCustom extends StatelessWidget { splashColor: _randomColor(), // 抗锯齿能力,抗锯齿等级依次递增,none(默认),hardEdge,antiAliasWithSaveLayer,antiAlias clipBehavior: Clip.antiAlias, - padding: new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), + padding: EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), //高亮时候的阴影 highlightElevation: 10.0, shape: shape, // 在Outline 里只能设置圆角,边框用borderSide diff --git a/lib/widgets/elements/Form/Button/OutlineButton/index.dart b/lib/widgets/elements/Form/Button/OutlineButton/index.dart index 8ab15911..c4894e34 100644 --- a/lib/widgets/elements/Form/Button/OutlineButton/index.dart +++ b/lib/widgets/elements/Form/Button/OutlineButton/index.dart @@ -75,7 +75,7 @@ class _DemoState extends State { Widget allOutlineButtons(BuildContext context,_DemoState that){ final ShapeBorder buttonShape = drawShape(that.buttonShapeType); return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -136,16 +136,16 @@ Widget allOutlineButtons(BuildContext context,_DemoState that){ // context: context, // builder: (BuildContext context) { // return AlertDialog( -// title: new Text('提示'), -// content: new Text(name), +// title: Text('提示'), +// content: Text(name), // actions: [ -// new FlatButton( +// FlatButton( // // alert 的取消按钮 // onPressed: () { // // 取消的事件 // Navigator.of(context).pop(true); // }, -// child: new Text('取消')) +// child: Text('取消')) // ]); // } // ); @@ -155,14 +155,14 @@ Widget allOutlineButtons(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } @@ -186,7 +186,7 @@ ShapeBorder drawShape(String type){ break; case 'radius': return RoundedRectangleBorder( - side:new BorderSide( // 保留原来的边框样式 + side: BorderSide( // 保留原来的边框样式 width: borderWidth, color: _color, style: BorderStyle.solid, diff --git a/lib/widgets/elements/Form/Button/PopupMenuButton/demo.dart b/lib/widgets/elements/Form/Button/PopupMenuButton/demo.dart index 40e8099f..bfe50fe4 100644 --- a/lib/widgets/elements/Form/Button/PopupMenuButton/demo.dart +++ b/lib/widgets/elements/Form/Button/PopupMenuButton/demo.dart @@ -71,8 +71,8 @@ class PopupMenuButtonDefault extends StatelessWidget { child: Text('点我试试'), onSelected: (String value) {}, itemBuilder: (BuildContext context) => >[ - new PopupMenuItem(value: "选项一的内容", child: new Text("选项一")), - new PopupMenuItem(value: "选项二的内容", child: new Text("选项二")) + PopupMenuItem(value: "选项一的内容", child: Text("选项一")), + PopupMenuItem(value: "选项二的内容", child: Text("选项二")) ]); } @@ -82,8 +82,8 @@ class PopupMenuButtonDefault extends StatelessWidget { icon: Icon(Icons.menu), onSelected: (String value) {}, itemBuilder: (BuildContext context) => >[ - new PopupMenuItem(value: "选项一的内容", child: new Text("选项一")), - new PopupMenuItem(value: "选项二的内容", child: new Text("选项二")) + PopupMenuItem(value: "选项一的内容", child: Text("选项一")), + PopupMenuItem(value: "选项二的内容", child: Text("选项二")) ]); } } @@ -116,10 +116,10 @@ class PopupMenuButtonCustom extends StatelessWidget { initialValue:selectStr, // 按下按钮时调用以创建要在菜单中显示的项目。 itemBuilder: (BuildContext context) => >[ - new PopupMenuItem(value: "选项一的内容", child: new Text("选项一")), - new PopupMenuItem(value: "选项二的内容", child: new Text("选项二")), - new PopupMenuItem(value: "选项三的内容", child: new Text("选项三")), - new PopupMenuItem(value: "选项四的内容", child: new Text("选项四")) + PopupMenuItem(value: "选项一的内容", child: Text("选项一")), + PopupMenuItem(value: "选项二的内容", child: Text("选项二")), + PopupMenuItem(value: "选项三的内容", child: Text("选项三")), + PopupMenuItem(value: "选项四的内容", child: Text("选项四")) ], // 应用于弹出菜单按钮的偏移量(x,y)。 offset:Offset(0.0,50.0), @@ -134,7 +134,7 @@ class PopupMenuButtonCustom extends StatelessWidget { }); }, // 默认情况下匹配IconButton的8 dps填充。在某些情况下,特别是在此按钮作为列表项的尾随元素出现的情况下,能够将填充设置为零是有用的。 - padding:new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0.0, right: 0.0), + padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0.0, right: 0.0), //描述按下按钮时将发生的操作的文本。 tooltip:'这是信息' ); diff --git a/lib/widgets/elements/Form/Button/PopupMenuButton/index.dart b/lib/widgets/elements/Form/Button/PopupMenuButton/index.dart index 1ddcc856..012832d7 100644 --- a/lib/widgets/elements/Form/Button/PopupMenuButton/index.dart +++ b/lib/widgets/elements/Form/Button/PopupMenuButton/index.dart @@ -64,7 +64,7 @@ class _DemoState extends State { Widget allPopupMenuButton(Demo widget,State parent){ return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ diff --git a/lib/widgets/elements/Form/Button/RaisedButton/demo.dart b/lib/widgets/elements/Form/Button/RaisedButton/demo.dart index 0ddece9d..6790d4e0 100644 --- a/lib/widgets/elements/Form/Button/RaisedButton/demo.dart +++ b/lib/widgets/elements/Form/Button/RaisedButton/demo.dart @@ -105,10 +105,10 @@ class RaisedButtonCustom extends StatelessWidget { // 抗锯齿能力,抗锯齿等级依次递增,none(默认),hardEdge,antiAliasWithSaveLayer,antiAlias clipBehavior: Clip.antiAlias, padding: - new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), + EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), shape: (shape is ShapeBorder) ? shape - : new Border.all( + : Border.all( // 设置边框样式 color: Colors.grey, width: 2.0, diff --git a/lib/widgets/elements/Form/Button/RaisedButton/index.dart b/lib/widgets/elements/Form/Button/RaisedButton/index.dart index 9342f00e..9b552503 100644 --- a/lib/widgets/elements/Form/Button/RaisedButton/index.dart +++ b/lib/widgets/elements/Form/Button/RaisedButton/index.dart @@ -74,7 +74,7 @@ class _DemoState extends State { Widget allRaisedButtons(BuildContext context,_DemoState that){ final ShapeBorder buttonShape = drawShape(that.buttonShapeType); return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -135,16 +135,16 @@ Widget allRaisedButtons(BuildContext context,_DemoState that){ // context: context, // builder: (BuildContext context) { // return AlertDialog( -// title: new Text('提示'), -// content: new Text(name), +// title: Text('提示'), +// content: Text(name), // actions: [ -// new FlatButton( +// FlatButton( // // alert 的取消按钮 // onPressed: () { // // 取消的事件 // Navigator.of(context).pop(true); // }, -// child: new Text('取消')) +// child: Text('取消')) // ]); // } // ); @@ -154,14 +154,14 @@ Widget allRaisedButtons(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } @@ -185,7 +185,7 @@ ShapeBorder drawShape(String type){ break; case 'radius': return RoundedRectangleBorder( - side:new BorderSide( // 保留原来的边框样式 + side: BorderSide( // 保留原来的边框样式 width: borderWidth, color: _color, style: BorderStyle.solid, diff --git a/lib/widgets/elements/Form/Button/RawMaterialButton/demo.dart b/lib/widgets/elements/Form/Button/RawMaterialButton/demo.dart index 3b309a0b..407b0c92 100644 --- a/lib/widgets/elements/Form/Button/RawMaterialButton/demo.dart +++ b/lib/widgets/elements/Form/Button/RawMaterialButton/demo.dart @@ -62,7 +62,7 @@ class RawMaterialButtonCustom extends StatelessWidget { splashColor: _randomColor(), // 抗锯齿能力,抗锯齿等级依次递增,none(默认),hardEdge,antiAliasWithSaveLayer,antiAlias clipBehavior: Clip.antiAlias, - padding: new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), + padding: EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0), //高亮时候的阴影 highlightElevation: 10.0, // 按钮材质的形状 diff --git a/lib/widgets/elements/Form/Button/RawMaterialButton/index.dart b/lib/widgets/elements/Form/Button/RawMaterialButton/index.dart index 24a44bd8..9bced044 100644 --- a/lib/widgets/elements/Form/Button/RawMaterialButton/index.dart +++ b/lib/widgets/elements/Form/Button/RawMaterialButton/index.dart @@ -64,7 +64,7 @@ class _DemoState extends State { Widget allRawMaterialButtons(BuildContext context,_DemoState that){ final ShapeBorder buttonShape = drawShape(that.buttonShapeType); return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -108,16 +108,16 @@ Widget allRawMaterialButtons(BuildContext context,_DemoState that){ // context: context, // builder: (BuildContext context) { // return AlertDialog( -// title: new Text('提示'), -// content: new Text(name), +// title: Text('提示'), +// content: Text(name), // actions: [ -// new FlatButton( +// FlatButton( // // alert 的取消按钮 // onPressed: () { // // 取消的事件 // Navigator.of(context).pop(true); // }, -// child: new Text('取消')) +// child: Text('取消')) // ]); // } // ); @@ -127,14 +127,14 @@ Widget allRawMaterialButtons(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - //style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left - return new Align( + //style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } @@ -158,7 +158,7 @@ ShapeBorder drawShape(String type){ break; case 'radius': return RoundedRectangleBorder( - side:new BorderSide( // 保留原来的边框样式 + side: BorderSide( // 保留原来的边框样式 width: borderWidth, color: _color, style: BorderStyle.solid, diff --git a/lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart b/lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart index 60ebf8c8..c34d10af 100644 --- a/lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart +++ b/lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart @@ -12,7 +12,7 @@ import 'package:flutter/material.dart'; /* * Checkbox 默认的实例 * index 当前checkbox 的索引值 -* */ +*/ class CheckboxDefault extends StatefulWidget{ final int index; final parent; @@ -41,7 +41,7 @@ class _CheckboxDefault extends State { /* * Checkbox 默认的实例 * index 当前checkbox 的索引值 -* */ +*/ class CheckboxSelect extends StatelessWidget { final int index; final widget; diff --git a/lib/widgets/elements/Form/CheckBox/Checkbox/index.dart b/lib/widgets/elements/Form/CheckBox/Checkbox/index.dart index b99b354c..a7715fda 100644 --- a/lib/widgets/elements/Form/CheckBox/Checkbox/index.dart +++ b/lib/widgets/elements/Form/CheckBox/Checkbox/index.dart @@ -59,7 +59,7 @@ class _DemoState extends State { */ Widget allCheckboxs(BuildContext context,_DemoState that){ return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children: [ @@ -97,13 +97,13 @@ Widget allCheckboxs(BuildContext context,_DemoState that){ * 带align的text * */ Widget textAlignBar(String txt){ - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ SizedBox(height: 20.0), MarkdownBody(data: txt) - //new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) + // Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left) ]) ); } diff --git a/lib/widgets/elements/Form/CheckBox/CheckboxListTile/demo.dart b/lib/widgets/elements/Form/CheckBox/CheckboxListTile/demo.dart index d4e5c2a9..2518f5f5 100644 --- a/lib/widgets/elements/Form/CheckBox/CheckboxListTile/demo.dart +++ b/lib/widgets/elements/Form/CheckBox/CheckboxListTile/demo.dart @@ -34,7 +34,7 @@ class _CheckboxListTileStateDefault extends State { return Column( mainAxisAlignment: MainAxisAlignment.start, children: [ - new Center( + Center( child: CheckboxListTile( value: _value, selected:true,// 默认文字是否高亮 @@ -48,10 +48,10 @@ class _CheckboxListTileStateDefault extends State { activeColor: Colors.red, // 选中此复选框时要使用的颜色 ), ), - new Center( - child: new CheckboxListTile( + Center( + child: CheckboxListTile( value: isChecks[0], - title: new Text('选项1'), + title: Text('选项1'), activeColor: _value ? Colors.red : Colors.green, controlAffinity: ListTileControlAffinity.platform, onChanged: (bool){ @@ -60,10 +60,10 @@ class _CheckboxListTileStateDefault extends State { }); }), ), - new Center( - child: new CheckboxListTile( + Center( + child: CheckboxListTile( value: isChecks[1], - title: new Text('选项2'), + title: Text('选项2'), activeColor: _value ? Colors.red : Colors.green, controlAffinity: ListTileControlAffinity.platform, onChanged: (bool){ @@ -72,10 +72,10 @@ class _CheckboxListTileStateDefault extends State { }); }), ), - new Center( - child: new CheckboxListTile( + Center( + child: CheckboxListTile( value: isChecks[2], - title: new Text('选项3'), + title: Text('选项3'), activeColor: _value ? Colors.red : Colors.green, controlAffinity: ListTileControlAffinity.platform, onChanged: (bool){ @@ -84,10 +84,10 @@ class _CheckboxListTileStateDefault extends State { }); }), ), - new Center( - child: new CheckboxListTile( + Center( + child: CheckboxListTile( value: isChecks[3], - title: new Text('选项4'), + title: Text('选项4'), activeColor: _value ? Colors.red : Colors.green, controlAffinity: ListTileControlAffinity.platform, onChanged: (bool){ diff --git a/lib/widgets/elements/Form/CheckBox/CheckboxListTile/index.dart b/lib/widgets/elements/Form/CheckBox/CheckboxListTile/index.dart index f065e227..a3548e56 100644 --- a/lib/widgets/elements/Form/CheckBox/CheckboxListTile/index.dart +++ b/lib/widgets/elements/Form/CheckBox/CheckboxListTile/index.dart @@ -61,7 +61,7 @@ class _DemoState extends State { */ Widget allCheckboxs(BuildContext context, _DemoState that) { return Container( - //padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), + //padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0), child: Column( //mainAxisSize: MainAxisSize.max, children:[ @@ -79,7 +79,7 @@ Widget allCheckboxs(BuildContext context, _DemoState that) { * 带align的text * */ Widget textAlignBar(String txt) { - return new Align( + return Align( alignment: FractionalOffset.centerLeft, child: Column( children: [ diff --git a/lib/widgets/elements/Form/Input/TextField/text_field_demo.dart b/lib/widgets/elements/Form/Input/TextField/text_field_demo.dart index 3d36b522..60d2ab24 100644 --- a/lib/widgets/elements/Form/Input/TextField/text_field_demo.dart +++ b/lib/widgets/elements/Form/Input/TextField/text_field_demo.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; class DefaultTextField extends StatelessWidget { @override Widget build(BuildContext context) { - return new Container( + return Container( padding: const EdgeInsets.all(30.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, //文本是起始端对齐 @@ -29,7 +29,7 @@ class CustomTextField extends StatelessWidget { @override Widget build(BuildContext context) { - return new Container( + return Container( padding: const EdgeInsets.all(30.0), child: TextField( keyboardType: TextInputType.number, diff --git a/lib/widgets/elements/Form/Radio/Radio/demo.dart b/lib/widgets/elements/Form/Radio/Radio/demo.dart index 93022062..d55dca91 100644 --- a/lib/widgets/elements/Form/Radio/Radio/demo.dart +++ b/lib/widgets/elements/Form/Radio/Radio/demo.dart @@ -22,27 +22,27 @@ class _Demo extends State { } Widget build(BuildContext context) { return ( - new Container( + Container( alignment: Alignment.centerLeft, - child: new Column( + child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.min, children: [ - new Radio( + Radio( value: 1, groupValue: groupValue,//当value和groupValue一致的时候则选中 onChanged: (T){ onChange(T); } ), - new Radio( + Radio( value: 2, groupValue: groupValue, onChanged: (T){ onChange(T); } ), - new Radio( + Radio( value: 3, groupValue: groupValue, onChanged: (T){ diff --git a/lib/widgets/elements/Form/Radio/Radio/index.dart b/lib/widgets/elements/Form/Radio/Radio/index.dart index 97f5f880..df090dec 100644 --- a/lib/widgets/elements/Form/Radio/Radio/index.dart +++ b/lib/widgets/elements/Form/Radio/Radio/index.dart @@ -18,7 +18,6 @@ Radio widget 代表表单中的单选按钮, 当groupValue = value时代表组 在表单中, 单选按钮是表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变为非选中的。 - ### **基本用法** 以下是Radio的属性主产明 - activeColor → Color - 激活时的颜色。 diff --git a/lib/widgets/elements/Form/Radio/RadioListTile/demo.dart b/lib/widgets/elements/Form/Radio/RadioListTile/demo.dart index 50ceb3c1..1b3ba679 100644 --- a/lib/widgets/elements/Form/Radio/RadioListTile/demo.dart +++ b/lib/widgets/elements/Form/Radio/RadioListTile/demo.dart @@ -24,7 +24,7 @@ class _Demo extends State { } Widget build(BuildContext context) { - return new Column( + return Column( children: [ RadioListTile( title: const Text('A'), diff --git a/lib/widgets/elements/Form/Radio/RadioListTile/index.dart b/lib/widgets/elements/Form/Radio/RadioListTile/index.dart index f53afeb4..a9c5f2ae 100644 --- a/lib/widgets/elements/Form/Radio/RadioListTile/index.dart +++ b/lib/widgets/elements/Form/Radio/RadioListTile/index.dart @@ -33,6 +33,7 @@ class _DemoState extends State { contentList: [ content1, new DemoA() + ], title: 'RadioListTile', docUrl: 'https://docs.flutter.io/flutter/material/RadioListTile-class.html', diff --git a/lib/widgets/elements/Form/Slider/Slider/demo.dart b/lib/widgets/elements/Form/Slider/Slider/demo.dart index b7e009f2..c7f48dab 100644 --- a/lib/widgets/elements/Form/Slider/Slider/demo.dart +++ b/lib/widgets/elements/Form/Slider/Slider/demo.dart @@ -16,7 +16,7 @@ class SliderDemo extends StatefulWidget { class _Demo extends State { double value = 0.0; Widget build(BuildContext context) { - return new Slider( + return Slider( value: value,//实际进度的位置 inactiveColor: Colors.black12,//进度中不活动部分的颜色 label: 'value: $value', @@ -43,8 +43,8 @@ class SliderThemeDemo extends StatefulWidget { class _SliderThemeDemo extends State { double value = 0.0; Widget build(BuildContext context) { - return new Container( - child: new SliderTheme( + return Container( + child: SliderTheme( data: SliderTheme.of(context).copyWith( // activeTickMarkColor:Colors.yellowAccent, activeTrackColor: Colors.yellowAccent,//实际进度的颜色 @@ -52,21 +52,21 @@ class _SliderThemeDemo extends State { thumbColor: Colors.black,//滑块中心的颜色 inactiveTrackColor:Colors.red,//默 认进度条的颜色 valueIndicatorColor: Colors.blue,//提示进度的气派的背景色 - valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式 + valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式 color: Colors.white, ), inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色 overlayColor: Colors.pink,//滑块边缘颜色 ), - child: new Container( + child: Container( width: 340.0, margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0), - child: new Row( + child: Row( children: [ - new Text('0.0'), - new Expanded( + Text('0.0'), + Expanded( flex: 1, - child: new Slider( + child: Slider( value: value, label: '$value', divisions: 10, @@ -79,7 +79,7 @@ class _SliderThemeDemo extends State { max: 100.0, ), ), - new Text('100.0'), + Text('100.0'), ], ), ), diff --git a/lib/widgets/elements/Form/Slider/Slider/index.dart b/lib/widgets/elements/Form/Slider/Slider/index.dart index 70e5590f..3118e03a 100644 --- a/lib/widgets/elements/Form/Slider/Slider/index.dart +++ b/lib/widgets/elements/Form/Slider/Slider/index.dart @@ -46,8 +46,30 @@ const contentB = ''' ### **高级用法** > 自定义Slider 样式 +<<<<<<< HEAD 如果当前Slider样式 无法满足需求, 可以通过 **SliderTheme** 定制复杂样式 +======= +如果当前Slider样式 无法满足需求, 可以通过 ** SliderTheme ** 定制复杂样式 + +``` + SliderTheme( + data: SliderTheme.of(context).copyWith( + activeTrackColor: Colors.yellowAccent,//实际进度的颜色 + inactiveTickMarkColor:Colors.black + thumbColor: Colors.black,//滑块中心的颜色 + inactiveTrackColor:Colors.red,//默 认进度条的颜色 + valueIndicatorColor: Colors.blue,//提示进度的气派的背景色 + valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式 + color: Colors.white, + ), + inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色 + overlayColor: Colors.pink,//滑块边缘颜色 + child: Slider() +) + +``` +>>>>>>> ccb5c9e42883b23266fb95b9caf4e958d817ff48 ### **基本实例** diff --git a/lib/widgets/elements/Form/Slider/SliderTheme/demo.dart b/lib/widgets/elements/Form/Slider/SliderTheme/demo.dart index 0fb46382..19c15f6a 100644 --- a/lib/widgets/elements/Form/Slider/SliderTheme/demo.dart +++ b/lib/widgets/elements/Form/Slider/SliderTheme/demo.dart @@ -17,8 +17,8 @@ class SliderThemeDemo extends StatefulWidget { class _SliderThemeDemo extends State { double value = 0.0; Widget build(BuildContext context) { - return new Container( - child: new SliderTheme( + return Container( + child: SliderTheme( data: SliderTheme.of(context).copyWith( // activeTickMarkColor:Colors.yellowAccent, activeTrackColor: Colors.yellowAccent,//实际进度的颜色 @@ -26,21 +26,21 @@ class _SliderThemeDemo extends State { thumbColor: Colors.black,//滑块中心的颜色 inactiveTrackColor:Colors.red,//默 认进度条的颜色 valueIndicatorColor: Colors.blue,//提示进度的气派的背景色 - valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式 + valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式 color: Colors.white, ), inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色 overlayColor: Colors.pink,//滑块边缘颜色 ), - child: new Container( + child: Container( width: 340.0, margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0), - child: new Row( + child: Row( children: [ - new Text('0.0'), - new Expanded( + Text('0.0'), + Expanded( flex: 1, - child: new Slider( + child: Slider( value: value, label: '$value', divisions: 10, @@ -53,7 +53,7 @@ class _SliderThemeDemo extends State { max: 100.0, ), ), - new Text('100.0'), + Text('100.0'), ], ), ), diff --git a/lib/widgets/elements/Form/Slider/SliderTheme/index.dart b/lib/widgets/elements/Form/Slider/SliderTheme/index.dart index 9d643705..837f6cc2 100644 --- a/lib/widgets/elements/Form/Slider/SliderTheme/index.dart +++ b/lib/widgets/elements/Form/Slider/SliderTheme/index.dart @@ -21,7 +21,36 @@ const contentA = ''' > 通过更改sliderTheme.data, 修改Slider总体样式 +<<<<<<< HEAD 具体属性, 请查阅: SliderThemeData.data. +======= +基本属性参考以下代码: + +``` + SliderTheme( + data: SliderThemeData({ + @required Color activeTrackColor, + @required Color inactiveTrackColor, + @required Color disabledActiveTrackColor, + @required Color disabledInactiveTrackColor, + @required Color activeTickMarkColor, + @required Color inactiveTickMarkColor, + @required Color disabledActiveTickMarkColor, + @required Color disabledInactiveTickMarkColor, + @required Color thumbColor, + @required Color disabledThumbColor, + @required Color overlayColor, + @required Color valueIndicatorColor, + @required SliderComponentShape thumbShape, + @required SliderComponentShape valueIndicatorShape, + @required ShowValueIndicator showValueIndicator, + @required TextStyle valueIndicatorTextStyle + }), + child: anyWidgetContain(Slider) // 用来包含slider的widget容器窗口 +), + +``` +>>>>>>> ccb5c9e42883b23266fb95b9caf4e958d817ff48 ### **基本实例** @@ -42,7 +71,7 @@ class _Demo extends State { codeUrl: 'elements/Form/Slider/SliderTheme/demo.dart', contentList: [ contentA, - new SliderThemeDemo(), + SliderThemeDemo(), ], docUrl: 'https://docs.flutter.io/flutter/material/SliderTheme-class.html', ); diff --git a/lib/widgets/elements/Form/Slider/SliderThemeData/demo.dart b/lib/widgets/elements/Form/Slider/SliderThemeData/demo.dart index 0fb46382..19c15f6a 100644 --- a/lib/widgets/elements/Form/Slider/SliderThemeData/demo.dart +++ b/lib/widgets/elements/Form/Slider/SliderThemeData/demo.dart @@ -17,8 +17,8 @@ class SliderThemeDemo extends StatefulWidget { class _SliderThemeDemo extends State { double value = 0.0; Widget build(BuildContext context) { - return new Container( - child: new SliderTheme( + return Container( + child: SliderTheme( data: SliderTheme.of(context).copyWith( // activeTickMarkColor:Colors.yellowAccent, activeTrackColor: Colors.yellowAccent,//实际进度的颜色 @@ -26,21 +26,21 @@ class _SliderThemeDemo extends State { thumbColor: Colors.black,//滑块中心的颜色 inactiveTrackColor:Colors.red,//默 认进度条的颜色 valueIndicatorColor: Colors.blue,//提示进度的气派的背景色 - valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式 + valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式 color: Colors.white, ), inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色 overlayColor: Colors.pink,//滑块边缘颜色 ), - child: new Container( + child: Container( width: 340.0, margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0), - child: new Row( + child: Row( children: [ - new Text('0.0'), - new Expanded( + Text('0.0'), + Expanded( flex: 1, - child: new Slider( + child: Slider( value: value, label: '$value', divisions: 10, @@ -53,7 +53,7 @@ class _SliderThemeDemo extends State { max: 100.0, ), ), - new Text('100.0'), + Text('100.0'), ], ), ), diff --git a/lib/widgets/elements/Form/Slider/SliderThemeData/index.dart b/lib/widgets/elements/Form/Slider/SliderThemeData/index.dart index 754b0ea5..51b8ffd5 100644 --- a/lib/widgets/elements/Form/Slider/SliderThemeData/index.dart +++ b/lib/widgets/elements/Form/Slider/SliderThemeData/index.dart @@ -39,7 +39,7 @@ class _Demo extends State { codeUrl: 'elements/Form/Slider/SliderThemeData/demo.dart', contentList: [ contentA, - new SliderThemeDemo() + SliderThemeDemo() ], docUrl: 'https://docs.flutter.io/flutter/material/SliderThemeData-class.html', ); diff --git a/lib/widgets/elements/Form/Switch/AnimatedSwitcher/index.dart b/lib/widgets/elements/Form/Switch/AnimatedSwitcher/index.dart index b2eeff2a..2ce4aa3b 100644 --- a/lib/widgets/elements/Form/Switch/AnimatedSwitcher/index.dart +++ b/lib/widgets/elements/Form/Switch/AnimatedSwitcher/index.dart @@ -39,7 +39,7 @@ class _Demo extends State { codeUrl: 'elements/Form/Switch/AnimatedSwitcher/demo.dart', contentList: [ contentA, - new AnimatedSwitcherDemo() + AnimatedSwitcherDemo() ], docUrl: '', ); diff --git a/lib/widgets/elements/Form/Switch/Switch/demo.dart b/lib/widgets/elements/Form/Switch/Switch/demo.dart index 283b6f33..ad4b88bf 100644 --- a/lib/widgets/elements/Form/Switch/Switch/demo.dart +++ b/lib/widgets/elements/Form/Switch/Switch/demo.dart @@ -18,7 +18,7 @@ class SwitchDemo extends StatefulWidget { class _Demo extends State { bool check = false; Widget build(BuildContext context) { - return new Switch( + return Switch( value: this.check, onChanged: (bool val) { this.setState(() { @@ -36,7 +36,7 @@ class SwitchHighDemo extends StatefulWidget { class _SwitchHighDemo extends State { bool check = false; Widget build(BuildContext context) { - return new Switch.adaptive( + return Switch.adaptive( value: this.check, activeColor: Colors.blue, // 激活时原点颜色 onChanged: (bool val) { @@ -56,7 +56,7 @@ class SwitchTypesDemo extends StatefulWidget { class _SwitchTypesDemo extends State { bool check = false; Widget build(BuildContext context) { - return new Switch( + return Switch( value: this.check, activeTrackColor:Colors.green, inactiveThumbColor: Colors.black, diff --git a/lib/widgets/elements/Form/Switch/Switch/index.dart b/lib/widgets/elements/Form/Switch/Switch/index.dart index 25ac78df..826e3233 100644 --- a/lib/widgets/elements/Form/Switch/Switch/index.dart +++ b/lib/widgets/elements/Form/Switch/Switch/index.dart @@ -18,6 +18,7 @@ const contentA = ''' ### **基本用法** 通常用于Bool值参数的设置. + '''; diff --git a/lib/widgets/elements/Form/Switch/SwitchListTile/demo.dart b/lib/widgets/elements/Form/Switch/SwitchListTile/demo.dart index a80109b7..a0dde440 100644 --- a/lib/widgets/elements/Form/Switch/SwitchListTile/demo.dart +++ b/lib/widgets/elements/Form/Switch/SwitchListTile/demo.dart @@ -18,7 +18,7 @@ class SwitchListTileDemo extends StatefulWidget { class _Demo extends State { bool _lights = false; Widget build(BuildContext context) { - return new SwitchListTile( + return SwitchListTile( title: const Text('Lights'), value: _lights, onChanged: (bool value) { setState(() { _lights = value; }); }, diff --git a/lib/widgets/elements/Form/Text/RichText/index.dart b/lib/widgets/elements/Form/Text/RichText/index.dart index 2e2f2aff..ab676420 100644 --- a/lib/widgets/elements/Form/Text/RichText/index.dart +++ b/lib/widgets/elements/Form/Text/RichText/index.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_go/components/widget_demo.dart'; -import 'demo.dart'; +import 'package:flutter_go/widgets/elements/Form/Text/RichText/demo.dart'; const String intro = """ ### **简介** diff --git a/lib/widgets/elements/Form/Text/Text/index.dart b/lib/widgets/elements/Form/Text/Text/index.dart index d51aa94c..962aeec2 100644 --- a/lib/widgets/elements/Form/Text/Text/index.dart +++ b/lib/widgets/elements/Form/Text/Text/index.dart @@ -38,7 +38,7 @@ class _Demo extends State { return WidgetDemo( title: "Text", docUrl: 'flutter/widgets/Text-class.html', - codeUrl: 'elements/Form/Text/Text/index.dart', + codeUrl: 'elements/Form/Text/Text/demo.dart', contentList: [ intro, TextDemo(), diff --git a/lib/widgets/elements/Form/Text/index.dart b/lib/widgets/elements/Form/Text/index.dart index c5881c6d..2c57ccca 100644 --- a/lib/widgets/elements/Form/Text/index.dart +++ b/lib/widgets/elements/Form/Text/index.dart @@ -1,16 +1,16 @@ import '../../../../model/widget.dart'; import "package:flutter/material.dart"; -import 'RichText/index.dart' as RichText; +// import 'RichText/index.dart' as RichText; import 'Text/index.dart' as Text; List widgetPoints = [ - WidgetPoint( - name: 'RichText', - routerName: RichText.Demo.routeName, - buildRouter: (BuildContext context) => RichText.Demo(), - ), + // WidgetPoint( + // name: 'RichText', + // routerName: RichText.Demo.routeName, + // buildRouter: (BuildContext context) => RichText.Demo(), + // ), WidgetPoint( name: 'Text', routerName: Text.Demo.routeName, diff --git a/lib/widgets/elements/Frame/Align/Align/demo.dart b/lib/widgets/elements/Frame/Align/Align/demo.dart index 288c1003..775df13e 100644 --- a/lib/widgets/elements/Frame/Align/Align/demo.dart +++ b/lib/widgets/elements/Frame/Align/Align/demo.dart @@ -18,13 +18,13 @@ class AlignAlignment extends StatelessWidget { @override Widget build(BuildContext context) { - return new Container( + return Container( color: Color(0xffd81b60), width: 90.0, height: 50.0, - child: new Align( + child: Align( alignment: status, - child: new Text( + child: Text( dec, style: TextStyle(fontSize: 12.0, color: Color(0xffffffff)), ), @@ -45,10 +45,10 @@ class AlignFactor extends StatelessWidget { @override Widget build(BuildContext context) { - return new Container( - margin: new EdgeInsets.only(top: 10.0, bottom: 10.0), + return Container( + margin: EdgeInsets.only(top: 10.0, bottom: 10.0), color: Color(0xffd81b60), - child: new Align( + child: Align( alignment: status, widthFactor: wFactor, heightFactor: hFactor, diff --git a/lib/widgets/elements/Frame/Align/Align/index.dart b/lib/widgets/elements/Frame/Align/Align/index.dart index 46432a8f..e28149a9 100644 --- a/lib/widgets/elements/Frame/Align/Align/index.dart +++ b/lib/widgets/elements/Frame/Align/Align/index.dart @@ -40,10 +40,10 @@ class _DemoState extends State { } Column _alignCreate() { - return new Column( + return Column( children: [ SizedBox(height: 10.0), - new Row( + Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ AlignAlignment(Alignment.center, 'center'), @@ -51,7 +51,7 @@ class _DemoState extends State { ], ), SizedBox(height: 10.0), - new Row( + Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ AlignAlignment(Alignment.centerRight, 'centerRight'), @@ -60,7 +60,7 @@ class _DemoState extends State { ], ), SizedBox(height: 10.0), - new Row( + Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ AlignAlignment(Alignment.topLeft, 'topLeft'), @@ -71,11 +71,11 @@ class _DemoState extends State { SizedBox(height: 10.0), MarkdownBody(data: _flatText1), Container( - margin: new EdgeInsets.only(top: 20.0, bottom: 20.0), + margin: EdgeInsets.only(top: 20.0, bottom: 20.0), color: Color(0xffe91e63), - child: new Align( + child: Align( alignment: Alignment.topLeft, - child: new Text( + child: Text( "Align", style: TextStyle(color: Color(0xffffffff)), ), diff --git a/lib/widgets/elements/Frame/Box/ConstrainedBox/demo.dart b/lib/widgets/elements/Frame/Box/ConstrainedBox/demo.dart index 90995e77..73d298eb 100644 --- a/lib/widgets/elements/Frame/Box/ConstrainedBox/demo.dart +++ b/lib/widgets/elements/Frame/Box/ConstrainedBox/demo.dart @@ -29,12 +29,12 @@ class ConstrainedBoxCreate extends StatelessWidget { maxWidth: 300.0, maxHeight: 50.0, ), - child: new Container( + child: Container( margin: const EdgeInsets.only(left: 20.0, right: 20.0), //child 宽高超过制定限制范围失效,效果宽/高=100/20区域 width: currWidth, height: 250.0, - child: new Text( + child: Text( describe, style: TextStyle(color: Colors.white), ), diff --git a/lib/widgets/elements/Frame/Box/DecoratedBox/demo.dart b/lib/widgets/elements/Frame/Box/DecoratedBox/demo.dart index 8539ead3..da157373 100644 --- a/lib/widgets/elements/Frame/Box/DecoratedBox/demo.dart +++ b/lib/widgets/elements/Frame/Box/DecoratedBox/demo.dart @@ -21,7 +21,7 @@ class DecoratedBoxCreate extends StatelessWidget { decoration: BoxDecoration( color: const Color(0xff7c94b6), //设置图片内容 - image: new DecorationImage( + image: DecorationImage( fit: BoxFit.cover, image: ExactAssetImage('assets/images/food01.jpeg')), //外宽边框,可以不设置 @@ -46,7 +46,7 @@ class DecoratedBoxCreateTwo extends StatelessWidget { decoration: BoxDecoration( color: const Color(0xff7c94b6), //设置图片内容 - image: new DecorationImage( + image: DecorationImage( fit: BoxFit.cover, image: ExactAssetImage('assets/images/food01.jpeg')), //根据传入的不同大小,呈现图片效弧度不同, @@ -67,7 +67,7 @@ class DecoratedBoxCreateShape extends StatelessWidget { position: DecorationPosition.background, decoration: BoxDecoration( color: const Color(0xff7c94b6), - image: new DecorationImage( + image: DecorationImage( fit: BoxFit.cover, image: ExactAssetImage('assets/images/food01.jpeg')), border: Border.all( diff --git a/lib/widgets/elements/Frame/Box/DecoratedBox/index.dart b/lib/widgets/elements/Frame/Box/DecoratedBox/index.dart index 79f4073d..0432f432 100644 --- a/lib/widgets/elements/Frame/Box/DecoratedBox/index.dart +++ b/lib/widgets/elements/Frame/Box/DecoratedBox/index.dart @@ -45,7 +45,7 @@ class _DemoState extends State { } Column _decoratedBoxCreate() { - return new Column( + return Column( children: [ Container( height: 100.0, diff --git a/lib/widgets/elements/Frame/Box/Fittedbox/demo.dart b/lib/widgets/elements/Frame/Box/FittedBox/demo.dart similarity index 93% rename from lib/widgets/elements/Frame/Box/Fittedbox/demo.dart rename to lib/widgets/elements/Frame/Box/FittedBox/demo.dart index 108ad98d..b137ae97 100644 --- a/lib/widgets/elements/Frame/Box/Fittedbox/demo.dart +++ b/lib/widgets/elements/Frame/Box/FittedBox/demo.dart @@ -15,11 +15,11 @@ class FittedBoxDefault extends StatelessWidget { final BoxFit curfit; final String dec; - FittedBoxDefault({Key key, this.curfit, this.dec}); + FittedBoxDefault({Key key, this.curfit, this.dec}); @override Widget build(BuildContext context) { - return new Column( + return Column( children: [ Container( //外部有位置约束,内部大小设定失效,保持和外部约束一致 diff --git a/lib/widgets/elements/Frame/Box/Fittedbox/index.dart b/lib/widgets/elements/Frame/Box/FittedBox/index.dart similarity index 85% rename from lib/widgets/elements/Frame/Box/Fittedbox/index.dart rename to lib/widgets/elements/Frame/Box/FittedBox/index.dart index ef624730..e707f34d 100644 --- a/lib/widgets/elements/Frame/Box/Fittedbox/index.dart +++ b/lib/widgets/elements/Frame/Box/FittedBox/index.dart @@ -1,4 +1,3 @@ - /** * Author: xiaojia.dxj * Date: 2019-01-08 @@ -9,7 +8,7 @@ */ import 'package:flutter/material.dart'; import 'package:flutter_go/components/widget_demo.dart'; -import './demo.dart' as fittedBox; +import './demo.dart'; const String Text0 = """ ### **FittedBox** @@ -53,18 +52,16 @@ class _DemoState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - fittedBox.FittedBoxDefault( - /** - * 设置child写入布局期间分配空间 - */ + FittedBoxDefault( + //设置child写入布局期间分配空间 curfit: BoxFit.contain, dec: 'contain', ), - fittedBox.FittedBoxDefault( + FittedBoxDefault( curfit: BoxFit.fill, dec: 'fill', ), - fittedBox.FittedBoxDefault( + FittedBoxDefault( curfit: BoxFit.cover, dec: 'cover', ), @@ -76,11 +73,11 @@ class _DemoState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - fittedBox.FittedBoxDefault( + FittedBoxDefault( curfit: BoxFit.fitHeight, dec: 'fitHeight', ), - fittedBox.FittedBoxDefault( + FittedBoxDefault( curfit: BoxFit.fitWidth, dec: 'fitWidth', ), @@ -92,11 +89,11 @@ class _DemoState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - fittedBox.FittedBoxDefault( + FittedBoxDefault( curfit: BoxFit.none, dec: 'none', ), - fittedBox.FittedBoxDefault( + FittedBoxDefault( curfit: BoxFit.scaleDown, dec: 'scaleDown', ), diff --git a/lib/widgets/elements/Frame/Box/OverflowBox/demo.dart b/lib/widgets/elements/Frame/Box/OverflowBox/demo.dart index f7357a02..30127141 100644 --- a/lib/widgets/elements/Frame/Box/OverflowBox/demo.dart +++ b/lib/widgets/elements/Frame/Box/OverflowBox/demo.dart @@ -10,11 +10,11 @@ class OverflowBoxDefault extends StatelessWidget { OverflowBoxDefault( {Key key, - this.curmaxHeight, - this.curmaxWidth, - this.curWidth, - this.curHeight, - this.curalignment}) + this.curmaxHeight, + this.curmaxWidth, + this.curWidth, + this.curHeight, + this.curalignment}) : super(key: key); @override @@ -25,18 +25,18 @@ class OverflowBoxDefault extends StatelessWidget { //设置最大宽,高 maxWidth: curmaxWidth, maxHeight: curmaxHeight, - /** - * 调整child位置 - */ + + //调整child位置 alignment: curalignment, child: Container( - /** - * widget宽高大于overflowBox设置的最大,以overflowbox设置的最大宽高为限制, - * 小于overflowBox 设置的最大限度,子widget能够完全显示 - * * */ + //widget宽高大于overflowBox设置的最大,以overflowbox设置的最大宽高为限制, + //小于overflowBox 设置的最大限度,子widget能够完全显示 height: curHeight, width: curWidth, - child: Text("$curmaxWidth * $curmaxHeight",style: TextStyle(color: Colors.white),), + child: Text( + "$curmaxWidth * $curmaxHeight", + style: TextStyle(color: Colors.white), + ), color: Color(0xfff48fb1), ), ); diff --git a/lib/widgets/elements/Frame/Box/OverflowBox/index.dart b/lib/widgets/elements/Frame/Box/OverflowBox/index.dart index a67669a8..d7aa8502 100644 --- a/lib/widgets/elements/Frame/Box/OverflowBox/index.dart +++ b/lib/widgets/elements/Frame/Box/OverflowBox/index.dart @@ -76,7 +76,10 @@ class _DemoState extends State { ), ), SizedBox(height: 20), - SizedBox(height: 50,child: Text("宽高都大于最大限制"),), + SizedBox( + height: 50, + child: Text("宽高都大于最大限制"), + ), Container( width: 100.0, height: 100.0, @@ -90,7 +93,6 @@ class _DemoState extends State { curalignment: Alignment.center, ), ), - ], ); } diff --git a/lib/widgets/elements/Frame/Box/RenderBox/demo.dart b/lib/widgets/elements/Frame/Box/RenderBox/demo.dart deleted file mode 100644 index 9c1a7565..00000000 --- a/lib/widgets/elements/Frame/Box/RenderBox/demo.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -class RenderBoxDemo extends StatefulWidget { - _RenderBoxDemoState createState() => _RenderBoxDemoState(); -} - -class _RenderBoxDemoState extends State { - @override - Widget build(BuildContext context) { - return Container( - // child: RenderFoo(), - ); - } -} - -class RenderFoo extends RenderBox { - @override - bool get hasSize => super.hasSize; - - @override - BoxConstraints get constraints => super.constraints; -} diff --git a/lib/widgets/elements/Frame/Box/RenderBox/index.dart b/lib/widgets/elements/Frame/Box/RenderBox/index.dart deleted file mode 100644 index d0f3d6a2..00000000 --- a/lib/widgets/elements/Frame/Box/RenderBox/index.dart +++ /dev/null @@ -1,62 +0,0 @@ -/* - * @Author: xiaojia.dxj - * @Date: 2019-01-08 15:56:26 - * @Last Modified by: xiaojia.dxj - * @Last Modified time: 2019-01-08 15:56:26 - */ -import 'package:flutter/material.dart'; -import 'package:flutter_go/components/widget_demo.dart'; - -const String _Text = ''' -### **简介** -> BoxConstraints为抽象类,我们可以使用BoxConstraints,一个不可边的约束布局,renderBox布局 -- 一个尺寸尊重一个BoxConstraints,当且仅当,以下关系式的成立: -minWidth <= Size.width <= maxWidth -minHeight <= Size.height <= maxHeight -约束本身必须满足这些关系: - -0.0 <= minWidth <= maxWidth <= double.infinity -0.0 <= minHeight <= maxHeight <= double.infinity -double.infinity是每个约束的合法值。 -'''; - -class Demo extends StatefulWidget { - static const String routeName = '/element/Frame/Box/RenderBox'; - - _DemoState createState() => _DemoState(); -} - -class _DemoState extends State { - @override - Widget build(BuildContext context) { - return WidgetDemo( - title: 'Table', - codeUrl: 'elements/Frame/Box/RenderBox/demo.dart', - contentList: [ - _Text, - _sizeBoxCreate(), - ], - docUrl: 'https://docs.flutter.io/flutter/widgets/RenderBox-class.html', - ); - } - - Column _sizeBoxCreate() { - return new Column( - children: [ - /** - * Immutable layout constraints for RenderBox layout. - */ - SizedBox( - width: 900.0, - height: 50.0, - child: const Card( - child: Text( - 'SizedBox', - textAlign: TextAlign.center, - ), - color: Color(0xFFEF5350)), - ), - ], - ); - } -} diff --git a/lib/widgets/elements/Frame/Box/SizeBox/index.dart b/lib/widgets/elements/Frame/Box/SizeBox/index.dart index e3f05461..2e5b1382 100644 --- a/lib/widgets/elements/Frame/Box/SizeBox/index.dart +++ b/lib/widgets/elements/Frame/Box/SizeBox/index.dart @@ -28,15 +28,15 @@ class _DemoState extends State { } Column _sizeBoxCreate() { - return new Column( + return Column( children: [ - new Text("SizedBox", + Text("SizedBox", textAlign: TextAlign.right, style: TextStyle( fontSize: 28.0, fontWeight: FontWeight.bold, )), - new Row( + Row( children: [ sizeBox.SizeBoxDefault(), SizedBox( diff --git a/lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart b/lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart index 034f9bc4..f69a3c0d 100644 --- a/lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart +++ b/lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart @@ -7,10 +7,7 @@ class SizeOverflowBoxDefault extends StatelessWidget { final String text; SizeOverflowBoxDefault( - {Key key, - this.curSizeWidth, - this.curSizeHeight, - this.text}) + {Key key, this.curSizeWidth, this.curSizeHeight, this.text}) : super(key: key); @override @@ -23,7 +20,7 @@ class SizeOverflowBoxDefault extends StatelessWidget { color: Color(0xfff06292), width: 50.0, height: 50.0, - child: new Text( + child: Text( text, style: TextStyle(color: Colors.white), ), @@ -36,8 +33,7 @@ class SizeBoxDefault extends StatelessWidget { final double curWidth; final double curHeight; - SizeBoxDefault({Key key, this.curHeight, this.curWidth}) - : super(key: key); + SizeBoxDefault({Key key, this.curHeight, this.curWidth}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/widgets/elements/Frame/Box/SizedOverflowBox/index.dart b/lib/widgets/elements/Frame/Box/SizedOverflowBox/index.dart index 961981d4..78fbba7a 100644 --- a/lib/widgets/elements/Frame/Box/SizedOverflowBox/index.dart +++ b/lib/widgets/elements/Frame/Box/SizedOverflowBox/index.dart @@ -6,7 +6,7 @@ */ import 'package:flutter/material.dart'; import 'package:flutter_go/components/widget_demo.dart'; -import './demo.dart' as sizeBox; +import './demo.dart'; // const String _Text = """### **SizeBox简介** // > 常用的一个控件,设置具体尺寸。 @@ -53,47 +53,47 @@ class _DemoState extends State { } Column _sizedOverflowBoxCreate() { - return new Column( + return Column( children: [ - sizeBox.SizeBoxDefault( + SizeBoxDefault( curWidth: 200.0, curHeight: 50.0, ), SizedBox(height: 20.0), Container( - margin: new EdgeInsets.only(top: 10.0), + margin: EdgeInsets.only(top: 10.0), color: Color(0xffd81b60), width: 200.0, height: 50.0, ), Container( - margin: new EdgeInsets.only(top: 10.0), + margin: EdgeInsets.only(top: 10.0), color: Color(0xffd81b60), alignment: Alignment.topCenter, width: 200.0, height: 50.0, - child: sizeBox.SizeOverflowBoxDefault( + child: SizeOverflowBoxDefault( text: "SizeBox", ), ), Container( - margin: new EdgeInsets.only(top: 10.0), + margin: EdgeInsets.only(top: 10.0), color: Color(0xffd81b60), width: 200.0, height: 50.0, - child: sizeBox.SizeOverflowBoxDefault( + child: SizeOverflowBoxDefault( text: "box", curSizeWidth: 100.0, curSizeHeight: 20.0, ), ), Container( - margin: new EdgeInsets.only(top: 10.0), + margin: EdgeInsets.only(top: 10.0), color: Color(0xffd81b60), width: 200.0, height: 50.0, alignment: Alignment.center, - child: sizeBox.SizeOverflowBoxDefault( + child: SizeOverflowBoxDefault( text: "box", curSizeWidth: 100.0, curSizeHeight: 20.0, diff --git a/lib/widgets/elements/Frame/Box/TextBox/demo.dart b/lib/widgets/elements/Frame/Box/TextBox/demo.dart deleted file mode 100644 index 8b137891..00000000 --- a/lib/widgets/elements/Frame/Box/TextBox/demo.dart +++ /dev/null @@ -1 +0,0 @@ - diff --git a/lib/widgets/elements/Frame/Box/TextBox/index.dart b/lib/widgets/elements/Frame/Box/TextBox/index.dart deleted file mode 100644 index f47298ee..00000000 --- a/lib/widgets/elements/Frame/Box/TextBox/index.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_go/components/widget_demo.dart'; - -const String _Text = """### **TextBox简介** -> 是一个包含一段文本的矩形 -- 它与rect类似,不过包含一个固定的TextDirection。 -- sizebox的width,heigh为null,child自身设置 -### **属性** -> width:宽 -> height:高 -- ex:200*50 sizebox -"""; - -class Demo extends StatefulWidget { - static const String routeName = '/element/Frame/Box/TextBox'; - - _DemoState createState() => _DemoState(); -} - -class _DemoState extends State { - @override - Widget build(BuildContext context) { - return WidgetDemo( - title: 'TextBox', - codeUrl: 'elements/Frame/Box/TextBox/demo.dart', - contentList: [ - _Text, - _creatTexbox(), - ], - docUrl: 'https://docs.flutter.io/flutter/dart-ui/TextBox-class.html', - ); - } -} - -Column _creatTexbox() { - return Column( - children: [ - // Text("TextBox ",textDirection: new TextBox.fo,), - Container( - // child: TextBox.fromLTRB(270.0, 180.0, 1360.0, 730.0,TextDirection.rtl), - - ) - -// centerSlice: new Rect.fromLTRB(270.0, 180.0, 1360.0, 730.0), - - - ], - ); -} diff --git a/lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart b/lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart index 9f171c45..0a62c64f 100644 --- a/lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart +++ b/lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart @@ -6,7 +6,7 @@ class UnconstrainedBoxDemo extends StatelessWidget { return UnconstrainedBox( constrainedAxis: Axis.vertical, textDirection: TextDirection.rtl, - child: new Row( + child: Row( children: [ Container( width: 100.0, diff --git a/lib/widgets/elements/Frame/Box/index.dart b/lib/widgets/elements/Frame/Box/index.dart index 0e61d53c..48399ea2 100644 --- a/lib/widgets/elements/Frame/Box/index.dart +++ b/lib/widgets/elements/Frame/Box/index.dart @@ -5,7 +5,6 @@ import 'ConstrainedBox/index.dart' as ConstrainedBox; import 'DecoratedBox/index.dart' as DecoratedBox; import 'SizeBox/index.dart' as SizeBox; import 'SizedOverflowBox/index.dart' as SizedOverflowBox; -import 'TextBox/index.dart' as TextBox; import 'UnconstrainedBox/index.dart' as UnconstrainedBox; import 'OverflowBox/index.dart' as OverflowBox; import 'FittedBox/index.dart' as FittedBox; @@ -33,11 +32,6 @@ List widgetPoints = [ routerName: SizedOverflowBox.Demo.routeName, buildRouter: (BuildContext context) => SizedOverflowBox.Demo(), ), - WidgetPoint( - name: 'TextBox', - routerName: TextBox.Demo.routeName, - buildRouter: (BuildContext context) => TextBox.Demo(), - ), WidgetPoint( name: 'UnconstrainedBox', routerName: UnconstrainedBox.Demo.routeName, diff --git a/lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart b/lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart index 398e5333..5c1fdbeb 100644 --- a/lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart +++ b/lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart @@ -14,57 +14,57 @@ class ExpandedDemo extends StatelessWidget { return Column( children: [ Text('Expanded'), - new Row(children: [ - new RaisedButton( + Row(children: [ + RaisedButton( onPressed: () { print('点击红色按钮事件'); }, color: const Color(0xffcc0000), - child: new Text('红色按钮',style: txtColor,), + child: Text('红色按钮',style: txtColor,), ), - new Expanded( + Expanded( flex: 1,//flex用来设置当前可用空间的占优比 - child: new RaisedButton( + child: RaisedButton( onPressed: () { print('点击黄色按钮事件'); }, color: const Color(0xfff1c232), - child: new Text('黄色按钮',style: txtColor,), + child: Text('黄色按钮',style: txtColor,), ), ), - new RaisedButton( + RaisedButton( onPressed: () { print('点击粉色按钮事件'); }, color: const Color(0xffea9999), - child: new Text('粉色按钮',style: txtColor,), + child: Text('粉色按钮',style: txtColor,), ), ]), Text('Flexible'), - new Row(children: [ - new RaisedButton( + Row(children: [ + RaisedButton( onPressed: () { print('点击红色按钮事件'); }, color: const Color(0xffcc0000), - child: new Text('红色按钮',style: txtColor,), + child: Text('红色按钮',style: txtColor,), ), - new Flexible( + Flexible( flex: 1, - child: new RaisedButton( + child: RaisedButton( onPressed: () { print('点击黄色按钮事件'); }, color: const Color(0xfff1c232), - child: new Text('黄色按钮',style: txtColor,), + child: Text('黄色按钮',style: txtColor,), ), ), - new RaisedButton( + RaisedButton( onPressed: () { print('点击粉色按钮事件'); }, color: const Color(0xffea9999), - child: new Text('粉色按钮',style: txtColor,), + child: Text('粉色按钮',style: txtColor,), ), ]), ], diff --git a/lib/widgets/elements/Frame/Layout/Column/demo.dart b/lib/widgets/elements/Frame/Layout/Column/demo.dart index e94c8a78..c61234cf 100644 --- a/lib/widgets/elements/Frame/Layout/Column/demo.dart +++ b/lib/widgets/elements/Frame/Layout/Column/demo.dart @@ -13,33 +13,31 @@ class ColumnDefault extends StatelessWidget { @override Widget build(BuildContext context) { return Column( - /** - * - MainAxisAlignment.spaceEvenly/spaceAround/spaceBetween, - - spaceEvenly:将主轴方向空白区域均分,使得children之间空间相等,包括首尾childre - - spaceAround:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre的空白部分为一半 - - spaceBetween:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre靠近收尾,没有空细逢 + /// - MainAxisAlignment.spaceEvenly/spaceAround/spaceBetween, + /// - spaceEvenly:将主轴方向空白区域均分,使得children之间空间相等,包括首尾childre + /// - spaceAround:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre的空白部分为一半 + /// - spaceBetween:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre靠近收尾,没有空细逢 + + /// - MainAxisAlignment.start/end/center, + /// - start:将children放置在主轴起点方向 + /// - end:将children放置在主轴末尾方向 + /// - center:将children放置在主轴中间方向 - - MainAxisAlignment.start/end/center, - - start:将children放置在主轴起点方向 - - end:将children放置在主轴末尾方向 - - center:将children放置在主轴中间方向 - */ mainAxisAlignment: MainAxisAlignment.center, - /** - * > mainAxisSize 属性 - - 一行的高度是有mainAxisSize属性控制,默认是max - - mainAxisSize: MainAxisSize.min,一行的宽度是child传入的约束 - - mainAxisSize: MainAxisSize.max,一行的宽度的最大宽度是传入的约束。 - > mainAxisAlignment属性 - */ - mainAxisSize: MainAxisSize.max, - /** - * - crossAxisAlignment: CrossAxisAlignment.center/end/start, - - 即,根据设定的位置交叉对齐 - - center/end/start: children在交叉轴上居中/末端/起点 对齐展示 - - stretch:让children填满交叉轴方向 - - baseline:在交叉轴方向,使得于这个baseline对齐,如果主轴是垂直的,那么这个值是当作开始 - */ + + /// > mainAxisSize 属性 + /// - 一行的高度是有mainAxisSize属性控制,默认是max + /// - mainAxisSize: MainAxisSize.min,一行的宽度是child传入的约束 + /// - mainAxisSize: MainAxisSize.max,一行的宽度的最大宽度是传入的约束。 + /// > mainAxisAlignment属性 + + /// mainAxisSize: MainAxisSize.max, + ///- crossAxisAlignment: CrossAxisAlignment.center/end/start, + /// - 即,根据设定的位置交叉对齐 + /// - center/end/start: children在交叉轴上居中/末端/起点 对齐展示 + /// - stretch:让children填满交叉轴方向 + /// - baseline:在交叉轴方向,使得于这个baseline对齐,如果主轴是垂直的,那么这个值是当作开始 + children: [ Container( color: Color(0xfffce4ec), diff --git a/lib/widgets/elements/Frame/Layout/Row/demo.dart b/lib/widgets/elements/Frame/Layout/Row/demo.dart index 8beb078c..489f491b 100644 --- a/lib/widgets/elements/Frame/Layout/Row/demo.dart +++ b/lib/widgets/elements/Frame/Layout/Row/demo.dart @@ -10,27 +10,24 @@ import 'package:flutter/widgets.dart'; * Describle:Row */ class RowMainAxisAlignment extends StatelessWidget { - /* - * > mainAxisAlignment属性 - * - MainAxisAlignment.spaceEvenly/spaceAround/spaceBetween, - - spaceEvenly:将主轴方向空白区域均分,使得children之间空间相等,包括首尾childre - - spaceAround:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre的空白部分为一半 - - spaceBetween:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre靠近收尾,没有空细逢 - * - MainAxisAlignment.start/end/center, - - start:将children放置在主轴起点方向 - - end:将children放置在主轴末尾方向 - - center:将children放置在主轴中间方向 - */ + ///> mainAxisAlignment属性 + /// - MainAxisAlignment.spaceEvenly/spaceAround/spaceBetween, + /// - spaceEvenly:将主轴方向空白区域均分,使得children之间空间相等,包括首尾childre + /// - spaceAround:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre的空白部分为一半 + /// - spaceBetween:将主轴方向空白区域均分,使得children之间空间相等,但是首尾childre靠近收尾,没有空细逢 + /// - MainAxisAlignment.start/end/center, + /// - start:将children放置在主轴起点方向 + /// - end:将children放置在主轴末尾方向 + /// - center:将children放置在主轴中间方向 + final MainAxisAlignment status; - /* - * > CrossAxisAlignment 属性 - - crossAxisAlignment: CrossAxisAlignment.center/end/start, - - 即,根据设定的位置交叉对齐 - - center/end/start: children在交叉轴上居中/末端/起点 对齐展示 - - stretch:让children填满交叉轴方向 - - baseline:在交叉轴方向,使得于这个baseline对齐,如果主轴是垂直的,那么这个值是当作开始 - */ + /// > CrossAxisAlignment 属性 + /// - crossAxisAlignment: CrossAxisAlignment.center/end/start, + /// - 即,根据设定的位置交叉对齐 + /// - center/end/start: children在交叉轴上居中/末端/起点 对齐展示 + /// - stretch:让children填满交叉轴方向 + /// - baseline:在交叉轴方向,使得于这个baseline对齐,如果主轴是垂直的,那么这个值是当作开始 final CrossAxisAlignment crossStatus; @@ -38,7 +35,7 @@ class RowMainAxisAlignment extends StatelessWidget { @override Widget build(BuildContext context) { - return new Row( + return Row( mainAxisAlignment: status, children: [ Container( @@ -66,29 +63,29 @@ class RowLayoutCreate extends StatelessWidget { @override Widget build(BuildContext context) { - return new Row( + return Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( - margin: new EdgeInsets.only(top: 20.0, bottom: 20.0), + margin: EdgeInsets.only(top: 20.0, bottom: 20.0), color: Color(0xfffce4ec), width: 60.0, height: 50.0, ), Container( - margin: new EdgeInsets.only(top: 20.0, bottom: 20.0), + margin: EdgeInsets.only(top: 20.0, bottom: 20.0), color: Color(0xfff8bbd0), width: 60.0, height: 50.0, ), Container( - margin: new EdgeInsets.only(top: 20.0, bottom: 20.0), + margin: EdgeInsets.only(top: 20.0, bottom: 20.0), color: Color(0xfff48fb1), width: 60.0, height: 50.0, ), Container( - margin: new EdgeInsets.only(top: 20.0, bottom: 20.0), + margin: EdgeInsets.only(top: 20.0, bottom: 20.0), color: Color(0xfff06292), width: 60.0, height: 50.0, diff --git a/lib/widgets/elements/Frame/Layout/Row/index.dart b/lib/widgets/elements/Frame/Layout/Row/index.dart index a93001df..10b64b27 100644 --- a/lib/widgets/elements/Frame/Layout/Row/index.dart +++ b/lib/widgets/elements/Frame/Layout/Row/index.dart @@ -49,7 +49,7 @@ class _DemoState extends State { } Column _rowCreate() { - return new Column( + return Column( children: [ RowLayoutCreate(), Row( diff --git a/lib/widgets/elements/Frame/Spacing/SliverPadding/sliverpadding_demo.dart b/lib/widgets/elements/Frame/Spacing/SliverPadding/sliverpadding_demo.dart index 27bd4a9f..07920611 100644 --- a/lib/widgets/elements/Frame/Spacing/SliverPadding/sliverpadding_demo.dart +++ b/lib/widgets/elements/Frame/Spacing/SliverPadding/sliverpadding_demo.dart @@ -49,12 +49,12 @@ class SliverPaddingDemo extends StatelessWidget { @override Widget build(BuildContext context) { - return new CustomScrollView( + return CustomScrollView( shrinkWrap: true, slivers: [ - new SliverPadding( + SliverPadding( padding: const EdgeInsets.fromLTRB(50.0,10.0,20.0,0.0), - sliver: new SliverList( + sliver: SliverList( delegate: SliverChildBuilderDelegate( (BuildContext context, int index) { return _buildItem(context, products[index]); diff --git a/lib/widgets/elements/Frame/Stack/IndexedStack/demo.dart b/lib/widgets/elements/Frame/Stack/IndexedStack/demo.dart index bcf289cc..b2ac819c 100644 --- a/lib/widgets/elements/Frame/Stack/IndexedStack/demo.dart +++ b/lib/widgets/elements/Frame/Stack/IndexedStack/demo.dart @@ -12,7 +12,7 @@ import 'package:flutter/material.dart'; class StackDefault extends StatelessWidget { final int currIndex; - const StackDefault( this.currIndex) : super(); + const StackDefault(this.currIndex) : super(); @override Widget build(BuildContext context) { @@ -23,14 +23,14 @@ class StackDefault extends StatelessWidget { // backgroundImage: AssetImage('images/timg.jpeg'), // radius: 100.0, // ), -// new Image.asset( +// Image.asset( // 'images/timg.jpeg', // width: 600.0, // height: 240.0, // fit: BoxFit.cover, // ), CircleAvatar( - backgroundColor: new Color(0xfff48fb1), + backgroundColor: Color(0xfff48fb1), radius: 40.0, ), Container( @@ -54,34 +54,34 @@ class StackDefault extends StatelessWidget { class StackIndex extends StatelessWidget { final int currIndex; - const StackIndex( this.currIndex) : super(); + const StackIndex(this.currIndex) : super(); @override Widget build(BuildContext context) { return IndexedStack( index: currIndex, children: [ - new Icon( + Icon( Icons.update, size: 40.0, color: Color(0xffe91e63), ), - new Icon( + Icon( Icons.access_alarm, size: 40.0, color: Color(0xffe91e63), ), - new Icon( + Icon( Icons.add_alarm, size: 40.0, color: Color(0xffe91e63), ), - new Icon( + Icon( Icons.access_time, size: 40.0, color: Color(0xffe91e63), ), - new Icon( + Icon( Icons.alarm_off, size: 40.0, color: Color(0xffe91e63), diff --git a/lib/widgets/elements/Frame/Stack/IndexedStack/index.dart b/lib/widgets/elements/Frame/Stack/IndexedStack/index.dart index a0103001..da1d3aec 100644 --- a/lib/widgets/elements/Frame/Stack/IndexedStack/index.dart +++ b/lib/widgets/elements/Frame/Stack/IndexedStack/index.dart @@ -38,8 +38,7 @@ class _DemoState extends State { return WidgetDemo( title: 'IndexedStack', // desc: _desc, - codeUrl: - 'elements/Frame/Stack/IndexedStack/demo.dart', + codeUrl: 'elements/Frame/Stack/IndexedStack/demo.dart', docUrl: 'https://docs.flutter.io/flutter/widgets/IndexedStack-class.html', contentList: [ _stackText0, @@ -50,20 +49,20 @@ class _DemoState extends State { } Column _indexedStackCreate() { - return new Column( + return Column( children: [ SizedBox( height: 10.0, ), - new Row( + Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container( - color: new Color(0xffe91e63), + color: Color(0xffe91e63), child: StackDefault(0), ), Container( - color: new Color(0xffe91e63), + color: Color(0xffe91e63), child: StackDefault(1), ) ], @@ -71,7 +70,7 @@ class _DemoState extends State { SizedBox( height: 10.0, ), - new Row( + Row( mainAxisAlignment: MainAxisAlignment.center, children: [ StackIndex(0), @@ -91,7 +90,7 @@ class _DemoState extends State { onPressed: () { _indexAdd(); }, - icon: new Icon(Icons.adb), + icon: Icon(Icons.adb), label: Text("点击这里")), StackIndex(currIndex) ], diff --git a/lib/widgets/elements/Frame/Stack/Stack/demo.dart b/lib/widgets/elements/Frame/Stack/Stack/demo.dart index 4af0df05..43c2404d 100644 --- a/lib/widgets/elements/Frame/Stack/Stack/demo.dart +++ b/lib/widgets/elements/Frame/Stack/Stack/demo.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; * LastUpdateTime: 2018/11/22 * LastUpdateBy: xj.deng * - * Describle:Align描述 + * Describle:stack描述 */ class StackDefault extends StatelessWidget { const StackDefault() : super(); @@ -16,19 +16,19 @@ class StackDefault extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - new Stack( + Stack( //fit :定义如何设置non-positioned节点尺寸 fit: StackFit.loose, overflow: Overflow.clip, textDirection: TextDirection.ltr, alignment: Alignment.center, children: [ - new Container( - color: new Color(0xfff48fb1), + Container( + color: Color(0xfff48fb1), width: 100.0, height: 50.0, ), - new Text("stack demo", + Text("stack demo", textDirection: TextDirection.ltr, style: TextStyle( fontSize: 20.0, @@ -49,22 +49,22 @@ class StackDefault2 extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - new Stack( + Stack( //fit :定义如何设置non-positioned节点尺寸 fit: StackFit.loose, overflow: Overflow.clip, textDirection: TextDirection.ltr, alignment: Alignment.center, children: [ - new Text("stack demo", + Text("stack demo", textDirection: TextDirection.ltr, style: TextStyle( fontSize: 20.0, fontWeight: FontWeight.bold, letterSpacing: 5.0, color: Colors.white)), - new Container( - color: new Color(0xfff48fb1), + Container( + color: Color(0xfff48fb1), width: 100.0, height: 50.0, ), @@ -80,32 +80,32 @@ class StackPositioned extends StatelessWidget { @override Widget build(BuildContext context) { - return new Stack( + return Stack( alignment: Alignment.center, children: [ - new Positioned( - child: new Icon( + Positioned( + child: Icon( Icons.monetization_on, size: 40.0, color: Colors.yellow[300], )), - new Positioned( + Positioned( left: 40.0, - child: new Icon( + child: Icon( Icons.monetization_on, size: 40.0, color: Colors.yellow[600], )), - new Positioned( + Positioned( left: 60.0, - child: new Icon( + child: Icon( Icons.monetization_on, size: 40.0, color: Colors.yellow[600], )), - new Positioned( + Positioned( left: 80.0, - child: new Icon( + child: Icon( Icons.monetization_on, size: 40.0, color: Colors.yellow[600], @@ -120,12 +120,12 @@ class StackLayout extends StatelessWidget { @override Widget build(BuildContext context) { - return new Stack( + return Stack( overflow: Overflow.visible, alignment: const Alignment(0.2, 0.6), children: [ CircleAvatar( - backgroundColor: new Color(0xfff48fb1), + backgroundColor: Color(0xfff48fb1), radius: 140.0, ), Container( diff --git a/lib/widgets/elements/Frame/Stack/Stack/index.dart b/lib/widgets/elements/Frame/Stack/Stack/index.dart index f25d059b..66c61516 100644 --- a/lib/widgets/elements/Frame/Stack/Stack/index.dart +++ b/lib/widgets/elements/Frame/Stack/Stack/index.dart @@ -35,30 +35,28 @@ class Demo extends StatefulWidget { } class _DemoState extends State { - @override Widget build(BuildContext context) { return WidgetDemo( title: 'Stack', - codeUrl: - 'elements/Frame/Stack/Stack/demo.dart', + codeUrl: 'elements/Frame/Stack/Stack/demo.dart', docUrl: 'https://docs.flutter.io/flutter/widgets/Stack-class.html', contentList: [ _stackText0, _stackCreate(), _stackText1, - new Container( + Container( width: 300.0, height: 100.0, - margin: new EdgeInsets.only(top: 10.0, bottom: 10.0), - color: new Color(0xffe91e63), + margin: EdgeInsets.only(top: 10.0, bottom: 10.0), + color: Color(0xffe91e63), child: StackPositioned(), ), _stackText2, - new Container( + Container( width: 200.0, height: 200.0, - color: new Color(0xffe91e63), + color: Color(0xffe91e63), child: StackLayout(), ), ], @@ -66,18 +64,18 @@ class _DemoState extends State { } Column _stackCreate() { - return new Column( + return Column( children: [ Column( children: [ - new Container( - margin: new EdgeInsets.only(top: 10.0, bottom: 10.0), + Container( + margin: EdgeInsets.only(top: 10.0, bottom: 10.0), width: 300.0, height: 100.0, color: Color(0xffe91e63), child: StackDefault(), ), - new Container( + Container( width: 300.0, height: 100.0, color: Color(0xffe91e63), diff --git a/lib/widgets/elements/Frame/index.dart b/lib/widgets/elements/Frame/index.dart index ba235725..5ebd4a55 100644 --- a/lib/widgets/elements/Frame/index.dart +++ b/lib/widgets/elements/Frame/index.dart @@ -1,4 +1,4 @@ -import 'spacing/index.dart' as Spacing; +import 'Spacing/index.dart' as Spacing; import 'Expanded/index.dart' as Expanded; // import 'Axis/index.dart' as Axis; diff --git a/lib/widgets/elements/Media/Canvas/Canvas/demo.dart b/lib/widgets/elements/Media/Canvas/Canvas/demo.dart new file mode 100644 index 00000000..09abd064 --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/Canvas/demo.dart @@ -0,0 +1,319 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: Canvas 的示例 + */ +import 'package:flutter/material.dart'; +import 'dart:ui'; +import 'dart:ui' as ui; +import 'dart:typed_data'; +import 'dart:math'; +import 'package:flutter/services.dart' show rootBundle; + +CustomPaint graph; +var image; + +class CustomViewPage extends StatefulWidget { + + final String type; + CustomViewPage({this.type='drawLine'}) : super(); + + @override + State createState() => CustomViewPageState(); +} + +class CustomViewPageState extends State + with SingleTickerProviderStateMixin { + + static Future getImage(String asset) async { + ByteData data = await rootBundle.load(asset); + Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List()); + FrameInfo fi = await codec.getNextFrame(); + return fi.image; + } + + @override + void initState() { + super.initState(); + getImage("assets/images/painterImg.jpeg").then((data) { + setState(() { + image = data; + }); + }); + } + + @override + Widget build(BuildContext context) { + graph = CustomPaint( + painter: DrawPainter(type:widget.type) + ); + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.width * 0.6, + margin: EdgeInsets.all(10.0), + //padding: EdgeInsets.all(10.0), + child: graph + //child:Center(child: graph) + ); + } + + + @override + void reassemble() { + super.reassemble(); + } + + @override + void dispose() { + super.dispose(); + } +} + +///新建类继承于CustomPainter并且实现CustomPainter里面的paint()和shouldRepaint方法 +class DrawPainter extends CustomPainter { + Paint painter; + final type; + + DrawPainter ({this.type}){ + // Paint painter = Paint() + // ..color = Colors.blueAccent //画笔颜色 + // ..strokeCap = StrokeCap.round //画笔笔触类型 + // ..isAntiAlias = true //是否启动抗锯齿 + // ..blendMode = BlendMode.exclusion //颜色混合模式 + // ..style = PaintingStyle.fill //绘画风格,默认为填充 + // ..colorFilter = ColorFilter.mode(Colors.blueAccent,BlendMode.exclusion) //颜色渲染模式,一般是矩阵效果来改变的,但是flutter中只能使用颜色混合模式 + // ..maskFilter = MaskFilter.blur(BlurStyle.inner, 3.0) //模糊遮罩效果,flutter中只有这个 + // ..filterQuality = FilterQuality.high //颜色渲染模式的质量 + // ..strokeWidth = 15.0 ;//画笔的宽度 + + painter = new Paint() + ..color = Colors.blueAccent + ..strokeCap = StrokeCap.round + ..isAntiAlias = true + ..strokeWidth = 5.0 + ..filterQuality = FilterQuality.high + ..style = PaintingStyle.stroke; + } + ///Flutter中负责View绘制的地方,使用传递来的canvas和size即可完成对目标View的绘制 + + @override + void paint(Canvas canvas, Size size) { + switch(type) { + case 'drawPoints': + const List points1 = [Offset(20.0, 0.0), Offset(100.0, 50.0), Offset(150.0, 0.0),Offset(300.0, 0.0)]; + const List points2 = [Offset(20.0, 100.0), Offset(100.0, 100.0), Offset(150.0, 100.0), Offset(300.0, 100.0)]; + const List points3 = [Offset(20.0, 150.0), Offset(100.0, 150.0), Offset(150.0, 180.0), Offset(300.0, 150.0)]; + //绘制点 + canvas.drawPoints( + ///PointMode的枚举类型有三个,points(点),lines(线,隔点连接),polygon(线,相邻连接) + PointMode.points, + points1, + painter..color = Colors.redAccent // 这里可以追加修改 painter 属性 + ..strokeWidth = 10.0 + ); + canvas.drawPoints( + ///PointMode的枚举类型有三个,points(点),lines(线,隔点连接),polygon(线,相邻连接) + PointMode.lines, + points2, + painter..color = Colors.orange // 这里可以追加修改 painter 属性 + ..strokeWidth = 10.0 + ); + canvas.drawPoints( + ///PointMode的枚举类型有三个,points(点),lines(线,隔点连接),polygon(线,相邻连接) + PointMode.polygon, + points3, + painter..color = Colors.blue // 这里可以追加修改 painter 属性 + ..strokeWidth = 10.0 + ); + break; + case 'drawLine': + //绘制直线 + canvas.drawLine(Offset(20.0, 0.0), Offset(size.width*0.8, 200), painter ..color = Colors.redAccent); + break; + case 'rawCircle': + //绘制圆 参数(圆心,半径,画笔) + canvas.drawCircle( + Offset(size.width/2, 100.0), + 100.0, + painter + ..color = Colors.greenAccent + ..style = PaintingStyle.stroke //绘画风格改为stroke + ); + break; + case 'drawOval': + // 绘制椭圆 + // 使用左上和右下角坐标来确定矩形的大小和位置,椭圆是在这个矩形之中内切的形状 + Rect rect1 = Rect.fromPoints(Offset(0.0, 0.0), Offset(size.width, 200.0)); + canvas.drawOval(rect1, painter ..color = Colors.indigo); + break; + case 'drawArc': + // 绘制圆弧 + // Rect来确认圆弧的位置,还需要开始的弧度、结束的弧度、是否使用中心点绘制、以及paint弧度 + const PI = 3.1415926; + Rect rect1 = Rect.fromCircle(center: Offset(20, 50.0), radius: 100.0); + canvas.drawArc(rect1, 0.0, PI / 2, false, painter ..color = Colors.pink); + + Rect rect2 = Rect.fromCircle(center: Offset(size.width*0.6, 50.0), radius: 100.0); + canvas.drawArc(rect2, 0.0, PI / 2, true, painter ..color = Colors.deepPurple); + break; + case 'drawRRect': + /// fromPoints(Offset a, Offset b) + /// 使用左上和右下角坐标来确定矩形的大小和位置 + /// fromCircle({ Offset center, double radius }) + /// 使用圆的圆心点坐标和半径和确定外切矩形的大小和位置 + /// fromLTRB(double left, double top, double right, double bottom) + /// 使用矩形左边的X坐标、矩形顶部的Y坐标、矩形右边的X坐标、矩形底部的Y坐标来确定矩形的大小和位置 + /// fromLTWH(double left, double top, double width, double height) + /// 使用矩形左边的X坐标、矩形顶部的Y坐标矩形的宽高来确定矩形的大小和位置 + // 用Rect构建一个边长50,中心点坐标为50,100的矩形 + Rect rect1 = Rect.fromCircle(center: Offset(80.0, 100.0), radius: 50.0); + Rect rect2 = Rect.fromCircle(center: Offset(250.0, 100.0), radius: 50.0); + // 根据上面的矩形,构建一个圆角矩形 + RRect rrect1 = RRect.fromRectAndRadius(rect1, Radius.circular(0.0)); + canvas.drawRRect(rrect1, painter); + RRect rrect2 = RRect.fromRectAndRadius(rect2, Radius.circular(20.0)); + canvas.drawRRect(rrect2, painter); + break; + case 'drawDRRect': + //绘制两个矩形 + Rect rect1 = Rect.fromCircle(center: Offset(size.width/2, 100.0), radius: 60.0); + Rect rect2 = Rect.fromCircle(center: Offset(size.width/2, 100.0), radius: 40.0); + //分别绘制外部圆角矩形和内部的圆角矩形 + RRect outer = RRect.fromRectAndRadius(rect1, Radius.circular(30.0)); + RRect inner = RRect.fromRectAndRadius(rect2, Radius.circular(5.0)); + canvas.drawDRRect(outer, inner, painter ..color = Colors.lime); + break; + case 'drawImage': + // canvas.drawImage(image, Offset(0.0, 0.0), painter); + final src = Rect.fromLTWH(0.0, 0.0, 684.0, 442.0); + final dst = Rect.fromLTWH(0.0, 0.0, size.width, size.height); + canvas.drawImageRect(image, src, dst, painter); + break; + case 'drawStar': + var rect = Offset.zero & size; + /// 背景颜色 + canvas.drawRect(rect, Paint()..color = Color(0xFF000000)); + /// 绘制星形 + canvas.drawPath(MathTools().regularStarPath(5, 30, Offset(50.0, 50.0)), painter..color = Colors.red); + /// 绘制多边形 + canvas.save();// save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作 + canvas.translate(0, 100); + canvas.scale(1.2,1.2); + canvas.drawPath(MathTools().nStarPath(4, 30, 30, Offset(40.0, 50.0)), painter); + canvas.restore();// 用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响 + /// 绘制旋转星形 + canvas.save();// save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作 + canvas.translate(150, 50); + canvas.rotate(50 * pi / 180); + canvas.drawPath(MathTools().regularStarPath(5, 30, Offset(0,0)), painter..color = Colors.green); + canvas.restore();// 用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响 + /// 绘制变形星形 + canvas.save();// save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作 + canvas.translate(80, 100); + canvas.skew(0.5,0.2); + canvas.drawPath(MathTools().regularStarPath(6, 30,Offset(50,50)), painter..color = Colors.lime); + canvas.restore();// 用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响 + + /// 绘制matrix星形 + canvas.translate(250, 0); + Float64List matrix = Float64List.fromList(const [ + // careful, this is in _column_-major order + 0.7, -0.7, 0.0, 0.0, + 0.7, 0.7, 0.0, 0.0, + 0.7, 0.0, 1.0, 0.0, + -70.697, 98.057, 0.0, 1.0, + ]); + canvas.transform(matrix); + canvas.drawPath(MathTools().regularStarPath(5, 30,Offset(50,50)), painter..color = Colors.blue); + + break; + } + //canvas.drawColor(Colors.red, BlendMode.colorDodge); + } + + ///控制自定义View是否需要重绘的,返回false代表这个View在构建完成后不需要重绘。 + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return false; + } +} + +class MathTools { + static MathTools _mathTools; + static bool _flag; + + factory MathTools(){ + if (_flag == null) { + _flag = true; + } + if (_flag) { + _mathTools = new MathTools._internal(); + _flag = false; + } + return _mathTools; + } + MathTools._internal(); + /// + ///画正n角星的路径: + /// + ///@param num 角数 + ///@param R 外接圆半径 + ///@return 画正n角星的路径 + /// + Path regularStarPath(int num, double R, Offset xy) { + double degA, degB; + if (num % 2 == 1) { + //奇数和偶数角区别对待 + degA = 360 / num / 2 / 2; + degB = 180 - degA - 360 / num / 2; + } else { + degA = 360 / num / 2; + degB = 180 - degA - 360 / num / 2; + } + double r = R * sin(_rad(degA)) / sin(_rad(degB)); + return nStarPath(num, R, r, xy); + } + + /// + ///画正n边形的路径 + /// + ///@param num 边数 + ///@param R 外接圆半径 + ///@return 画正n边形的路径 + /// + Path regularPolygonPath(int num, double R, Offset xy) { + double r = R * cos(_rad(360 / num / 2)); //!!一点解决 + return nStarPath(num, R, r, xy); + } + + /// + ///n角星路径 + /// + ///@param num 几角星 + ///@param R 外接圆半径 + ///@param r 内接圆半径 + ///@return n角星路径 + /// + Path nStarPath(int num, double R, double r, Offset xy) { + Path path = new Path(); + double perDeg = 360 / num; //尖角的度数 + double degA = perDeg / 2 / 2; + double degB = 360 / (num - 1) / 2 - degA / 2 + degA; + + path.moveTo(cos(_rad(degA)) * R + xy.dx, (-sin(_rad(degA)) * R + xy.dy)); + for (int i = 0; i < num; i++) { + path.lineTo( + cos(_rad(degA + perDeg * i)) * R + xy.dx, -sin(_rad(degA + perDeg * i)) * R + xy.dy); + path.lineTo( + cos(_rad(degB + perDeg * i)) * r + xy.dx, -sin(_rad(degB + perDeg * i)) * r + xy.dy); + } + path.close(); + return path; + } + double _rad(double deg) { + return deg * pi / 180; + } +} diff --git a/lib/widgets/elements/Media/Canvas/Canvas/index.dart b/lib/widgets/elements/Media/Canvas/Canvas/index.dart new file mode 100644 index 00000000..3e6cda7e --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/Canvas/index.dart @@ -0,0 +1,96 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_go/components/widget_demo.dart'; +import './demo.dart' as demoBoxs; + +const Text = ''' +### **简介** +> 用于操作图形的界面; +- canvas 对象用于创建图片对象,这些对象本身可以与 SceneBuilder 一起用于构建场景; +'''; +const Text1 = ''' +### **基本用法** +- 以下是绘制点,线,面的基本用法 +'''; + +const Text2 = ''' +> 绘制点 +- 绘制点有三种模式, points(点),lines(线,隔点连接),polygon(线,相邻连接) +'''; + +const Text3 = ''' +> 绘制直线 +'''; + +const Text4 = ''' +> 绘制圆 +'''; + +const Text5 = ''' +> 绘制椭圆 +- 使用左上和右下角坐标来确定矩形的大小和位置,椭圆是在这个矩形之中内切的形状 +'''; + +const Text6 = ''' +> 绘制圆弧 +- Rect 来确认圆弧的位置,还需要开始的弧度、结束的弧度、是否使用中心点绘制、以及 paint 弧度 +'''; + +const Text7 = ''' +> 绘制矩形,圆角矩形 +- 用 Rect构建矩形 +- 根据上面的矩形,构建一个圆角矩形 +'''; + +const Text8 = ''' +> 绘制两个相套矩形 +'''; + +const Text9 = ''' +> 绘制图片到canvas +'''; + +const Text10 = ''' +> 绘制一个星形 +- 它可以使用“平移”、“缩放”、“旋转”、“倾斜”和“变换”方法进行修改; +- 可以使用 clipRect、clipCorrect 和 clipPath 方法进行修改; +- 可以使用由 save、savelayer和 restore 方法管理的堆栈来保存和还原当前的转换和剪辑。 +'''; + +class Demo extends StatefulWidget { + static const String routeName = '/element/Media/Canvas/Canvas'; + + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + title: 'Canvas', + codeUrl: 'elements/Media/Canvas/Canvas/demo.dart', + contentList: [ + Text, + Text1, + Text2, + demoBoxs.CustomViewPage(type:'drawPoints'), + Text3, + demoBoxs.CustomViewPage(type:'drawLine'), + Text4, + demoBoxs.CustomViewPage(type:'rawCircle'), + Text5, + demoBoxs.CustomViewPage(type:'drawOval'), + Text6, + demoBoxs.CustomViewPage(type:'drawArc'), + Text7, + demoBoxs.CustomViewPage(type:'drawRRect'), + Text8, + demoBoxs.CustomViewPage(type:'drawDRRect'), + Text9, + demoBoxs.CustomViewPage(type:'drawImage'), + Text10, + demoBoxs.CustomViewPage(type:'drawStar'), + ], + docUrl: 'https://docs.flutter.io/flutter/dart-ui/Canvas-class.html', + ); + } +} diff --git a/lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/demo.dart b/lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/demo.dart new file mode 100644 index 00000000..ce87e4cc --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/demo.dart @@ -0,0 +1,103 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: CircleProgressBarPainter 的示例 + */ +import 'dart:ui'; +import 'package:flutter/material.dart'; + +class CustomViewPage extends StatefulWidget { + @override + State createState() => CustomViewPageState(); +} + +class CustomViewPageState extends State + with SingleTickerProviderStateMixin { + Animation _doubleAnimation; + AnimationController _controller; + CurvedAnimation curvedAnimation; + + @override + void initState() { + super.initState(); + _controller = + AnimationController(vsync: this, duration: Duration(seconds: 2)); + curvedAnimation = + CurvedAnimation(parent: _controller, curve: Curves.decelerate); + _doubleAnimation = Tween(begin: 0.0, end: 360.0).animate(_controller); + + _controller.addListener(() { + this.setState(() {}); + }); + onAnimationStart(); + } + + @override + Widget build(BuildContext context) { + return Container( + width: 100.0, + height: 100.0, + margin: EdgeInsets.all(8.0), + child: CustomPaint( + child: Center( + child: Text((_doubleAnimation.value / 3.6).round().toString())), + painter: CircleProgressBarPainter(_doubleAnimation.value) + ), + ); + } + + void onAnimationStart() { + _controller.forward(from: 0.0); + } + + @override + void reassemble() { + super.reassemble(); + onAnimationStart(); + } + + @override + void dispose() { + super.dispose(); + _controller.dispose(); + } +} + +class CircleProgressBarPainter extends CustomPainter { + Paint _paintBackground; + Paint _paintFore; + final double pi = 3.1415926; + var jindu; + + CircleProgressBarPainter(this.jindu) { + _paintBackground = Paint() + ..color = Colors.grey + ..strokeCap = StrokeCap.round + ..style = PaintingStyle.stroke + ..strokeWidth = 10.0 + ..isAntiAlias = true; + _paintFore = Paint() + ..color = Colors.red + ..strokeCap = StrokeCap.round + ..style = PaintingStyle.stroke + ..strokeWidth = 10.0 + ..isAntiAlias = true; + } + @override + void paint(Canvas canvas, Size size) { + canvas.drawCircle(Offset(size.width / 2, size.height / 2), size.width / 2,_paintBackground); + Rect rect = Rect.fromCircle( + center: Offset(size.width / 2, size.height / 2), + radius: size.width / 2, + ); + canvas.drawArc(rect, 0.0, jindu * 3.14 / 180, false, _paintFore); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return false; + } +} \ No newline at end of file diff --git a/lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/index.dart b/lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/index.dart new file mode 100644 index 00000000..df054258 --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/index.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_go/components/widget_demo.dart'; +import './demo.dart' as demoBoxs; + +const Text = ''' +### **简介** +> 操作图形的界面; + +'''; +const Text1 = ''' +### **基本用法** +- canvas + Animation 实现一个 loading 效果; +'''; + + +class Demo extends StatefulWidget { + static const String routeName = '/element/Media/Canvas/CircleProgressBarPainter'; + + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + title: 'Canvas', + codeUrl: 'elements/Media/Canvas/CircleProgressBarPainter/demo.dart', + contentList: [ + Text, + Text1, + demoBoxs.CustomViewPage() + ], + docUrl: 'https://docs.flutter.io/flutter/dart-ui/Canvas-class.html', + ); + } +} + diff --git a/lib/widgets/elements/Media/Canvas/PainterPath/demo.dart b/lib/widgets/elements/Media/Canvas/PainterPath/demo.dart new file mode 100644 index 00000000..150da6b2 --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/PainterPath/demo.dart @@ -0,0 +1,180 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: PainterPath 的示例 + */ +import 'dart:ui'; +import 'package:flutter/material.dart'; +CustomPaint graph; + +class CustomViewPage extends StatefulWidget { + + final String type; + CustomViewPage({this.type='simpleline'}) : super(); + + @override + State createState() => CustomViewPageState(); +} + +class CustomViewPageState extends State + with SingleTickerProviderStateMixin { + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + graph = CustomPaint( + painter: DrawPainter(type:widget.type) + ); + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.width * 0.6, + margin: EdgeInsets.all(50.0), + //padding: EdgeInsets.all(10.0), + child: graph + //child:Center(child: graph) + ); + } + + + @override + void reassemble() { + super.reassemble(); + } + + @override + void dispose() { + super.dispose(); + } +} + +///新建类继承于CustomPainter并且实现CustomPainter里面的paint()和shouldRepaint方法 +class DrawPainter extends CustomPainter { + Paint painter; + final type; + + DrawPainter ({this.type}){ + // Paint painter = Paint() + // ..color = Colors.blueAccent //画笔颜色 + // ..strokeCap = StrokeCap.round //画笔笔触类型 + // ..isAntiAlias = true //是否启动抗锯齿 + // ..blendMode = BlendMode.exclusion //颜色混合模式 + // ..style = PaintingStyle.fill //绘画风格,默认为填充 + // ..colorFilter = ColorFilter.mode(Colors.blueAccent,BlendMode.exclusion) //颜色渲染模式,一般是矩阵效果来改变的,但是flutter中只能使用颜色混合模式 + // ..maskFilter = MaskFilter.blur(BlurStyle.inner, 3.0) //模糊遮罩效果,flutter中只有这个 + // ..filterQuality = FilterQuality.high //颜色渲染模式的质量 + // ..strokeWidth = 15.0 ;//画笔的宽度 + + painter = new Paint() + ..color = Colors.blueAccent + ..strokeCap = StrokeCap.round + ..isAntiAlias = true + ..strokeWidth = 5.0 + ..style = PaintingStyle.stroke; + } + ///Flutter中负责View绘制的地方,使用传递来的canvas和size即可完成对目标View的绘制 + + @override + void paint(Canvas canvas, Size size) { + //canvas.drawColor(Colors.red, BlendMode.colorDodge); + Path path = new Path(); + drawThisPath(canvas, size, path); + path.close(); + canvas.drawPath(path, painter); + } + + void drawThisPath(Canvas canvas, Size size, Path path,) { + switch(type) { + case 'simpleline': + //新建了一个path,然后将路径起始点移动到坐标(100,100)的位置 + Path path = new Path()..moveTo(0.0, 0.0); + path.lineTo(200.0, 200.0); + canvas.drawPath(path, painter); + break; + case 'polyline': + Path path = new Path()..moveTo(100.0, 10.0); + + path.lineTo(200.0, 150.0); + path.lineTo(100.0, 200.0); + + canvas.drawPath(path, painter); + break; + case 'Besizerline2': + Path path = new Path()..moveTo(0.0, 0.0); + Rect rect1 = Rect.fromCircle(center: Offset(50.0, 100.0), radius: 60.0); + path.arcTo(rect1, 0.0, 3.14, false); + canvas.drawPath(path, painter); + + Rect rect2 = Rect.fromCircle(center: Offset(200.0, 100.0), radius: 60.0); + path.arcTo(rect2, 0.0, 3.14*2, true); + canvas.drawPath(path, painter); + break; + case 'Besizerline3': + var width = size.width; + var height = 300; + Path path = new Path()..moveTo(width / 2, height / 4); + path.cubicTo((width * 6) / 7, height / 9, (width * 13) / 13, + (height * 2) / 5, width / 2, (height * 7) / 12); + canvas.drawPath(path, painter + // ..style = PaintingStyle.fill + // ..color = Colors.red + ); + + Path path2 = new Path(); + path2.moveTo(width / 2, height / 4); + path2.cubicTo(width / 7, height / 9, width / 21, (height * 2) / 5, + width / 2, (height * 7) / 12); + canvas.drawPath(path2, painter); + break; + case 'drawArc': + // 绘制圆弧 + // Rect来确认圆弧的位置,还需要开始的弧度、结束的弧度、是否使用中心点绘制、以及paint弧度 + const PI = 3.1415926; + Rect rect1 = Rect.fromCircle(center: Offset(size.width/2, 0.0), radius: 100.0); + canvas.drawArc(rect1, 0.0, PI / 2, false, painter ..color = Colors.pink); + + Rect rect2 = Rect.fromCircle(center: Offset(size.width/2, 150.0), radius: 100.0); + canvas.drawArc(rect2, 0.0, PI / 2, true, painter ..color = Colors.deepPurple); + break; + case 'drawRRect': + /// fromPoints(Offset a, Offset b) + /// 使用左上和右下角坐标来确定矩形的大小和位置 + /// fromCircle({ Offset center, double radius }) + /// 使用圆的圆心点坐标和半径和确定外切矩形的大小和位置 + /// fromLTRB(double left, double top, double right, double bottom) + /// 使用矩形左边的X坐标、矩形顶部的Y坐标、矩形右边的X坐标、矩形底部的Y坐标来确定矩形的大小和位置 + /// fromLTWH(double left, double top, double width, double height) + /// 使用矩形左边的X坐标、矩形顶部的Y坐标矩形的宽高来确定矩形的大小和位置 + // 用Rect构建一个边长50,中心点坐标为50,100的矩形 + Rect rect1 = Rect.fromCircle(center: Offset(50.0, 50.0), radius: 50.0); + Rect rect2 = Rect.fromCircle(center: Offset(200.0, 50.0), radius: 50.0); + // 根据上面的矩形,构建一个圆角矩形 + RRect rrect1 = RRect.fromRectAndRadius(rect1, Radius.circular(0.0)); + canvas.drawRRect(rrect1, painter); + RRect rrect2 = RRect.fromRectAndRadius(rect2, Radius.circular(20.0)); + canvas.drawRRect(rrect2, painter); + break; + case 'drawDRRect': + //绘制两个矩形 + Rect rect1 = Rect.fromCircle(center: Offset(size.width/2, 100.0), radius: 60.0); + Rect rect2 = Rect.fromCircle(center: Offset(size.width/2, 100.0), radius: 40.0); + //分别绘制外部圆角矩形和内部的圆角矩形 + RRect outer = RRect.fromRectAndRadius(rect1, Radius.circular(30.0)); + RRect inner = RRect.fromRectAndRadius(rect2, Radius.circular(5.0)); + canvas.drawDRRect(outer, inner, painter ..color = Colors.lime); + break; + } + } + + ///控制自定义View是否需要重绘的,返回false代表这个View在构建完成后不需要重绘。 + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return false; + } +} diff --git a/lib/widgets/elements/Media/Canvas/PainterPath/index.dart b/lib/widgets/elements/Media/Canvas/PainterPath/index.dart new file mode 100644 index 00000000..ab64fadb --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/PainterPath/index.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_go/components/widget_demo.dart'; +import './demo.dart' as demoBoxs; + +//const Text = ''' +//### **简介** +//> 在 canvas 上绘制时使用的样式说明; +//- canvas 上的大多数API都使用一个绘画对象来描述用于该操作的样式。 +//'''; +const Text = ''' +### **简介** +> 在 canvas 上绘制的图案; +- canvas + paint 的应用。 +'''; + +const Text1 = ''' +### **基本用法** +- canvas 的 painter 的自定义绘制线的方法; +'''; + +const Text2 = ''' +> 绘制简单直线 +'''; + +const Text3 = ''' +> 绘制折线 +'''; + +const Text4 = ''' +> 二阶贝塞尔曲线 +'''; + +const Text5 = ''' +> 三阶贝塞尔曲线 +'''; + + +class Demo extends StatefulWidget { + static const String routeName = '/element/Media/Canvas/PainterPath'; + + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + title: 'PainterPath', + codeUrl: 'elements/Media/Canvas/PainterPath/demo.dart', + contentList: [ + Text, + Text1, + Text2, + demoBoxs.CustomViewPage(type:'simpleline'), + Text3, + demoBoxs.CustomViewPage(type:'polyline'), + Text4, + demoBoxs.CustomViewPage(type:'Besizerline2'), + Text5, + demoBoxs.CustomViewPage(type:'Besizerline3'), + ], + docUrl: 'https://docs.flutter.io/flutter/dart-ui/Paint-class.html', + ); + } +} diff --git a/lib/widgets/elements/Media/Canvas/PainterSketch/demo.dart b/lib/widgets/elements/Media/Canvas/PainterSketch/demo.dart new file mode 100644 index 00000000..52b5f856 --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/PainterSketch/demo.dart @@ -0,0 +1,213 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: PainterSketchDome 的示例 + */ + +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; + +class PainterSketchDome extends StatefulWidget { + PainterSketchDome({Key key, this.title}) : super(key: key); + + final String title; + + @override + _PainterSketchDomeState createState() => new _PainterSketchDomeState(); +} + +class _PainterSketchDomeState extends State { + + List lines = []; + List nowPoints = []; + Color nowColor = Colors.redAccent; + + void moveGestureDetector(DragUpdateDetails detail){ + RenderBox box = context.findRenderObject(); + final Offset xy = box.globalToLocal(detail.globalPosition);// 重要需要转换以下坐标位置 + Offset p = Offset(xy.dx, xy.dy - 60); + //Offset p = Offset(detail.globalPosition.dx, detail.globalPosition.dy - 60); + setState(() { + nowPoints.add(p); + }); + } + + void newGestureDetector(DragStartDetails detail) { + if (nowPoints.length != 0) { + LinePoints l = LinePoints(new List.from(nowPoints), nowColor); + lines.add(l); + nowPoints.clear(); + } + RenderBox box = context.findRenderObject(); + final Offset xy = box.globalToLocal(detail.globalPosition);// 重要需要转换以下坐标位置 + Offset p = Offset(xy.dx, xy.dy - 60); + //Offset p = Offset(detail.globalPosition.dx, detail.globalPosition.dy - 60); + setState(() { + nowPoints.add(p); + }); + } + + void changeColor (Color c){ + if (nowPoints.length != 0) { + LinePoints l = LinePoints(new List.from(nowPoints), nowColor); + lines.add(l); + } + setState(() { + nowPoints.clear(); + nowColor = c; + }); + } + + List colors = [ + Colors.redAccent, + Colors.pink, + Colors.greenAccent, + Colors.blueAccent, + Colors.amber, + Colors.purpleAccent, + Colors.deepPurpleAccent, + Colors.lightBlueAccent, + Colors.lightGreenAccent, + Colors.cyanAccent,]; + + void _tapClear(){ + setState(() { + lines.clear(); + nowPoints.clear(); + }); + } + + @override + Widget build(BuildContext context) { + List pallet = []; + for (int i = 0; i < colors.length; i++) { + Color c = colors[i]; + pallet.add(ColorPallet(color: c,changeColor: changeColor,isSelect: c==nowColor,)); + } + + return SizedBox( + width: MediaQuery.of(context).size.width * 0.9, + height: MediaQuery.of(context).size.height * 0.6, + child:new Scaffold( + primary: false, + body: new Container( + decoration: BoxDecoration( + color: Colors.white + ), + child:new Flex( + direction: Axis.vertical, + children: [ + Container( + decoration:BoxDecoration( + color: Colors.black12 + ), + child: ListView( + scrollDirection: Axis.horizontal, + children: pallet + , + ), + height: 60.0, + ), + Expanded( + child: AspectRatio( + aspectRatio: 1.0, + child: GestureDetector( + child: CustomPaint( + painter: PaintCanvas(lines,nowPoints,nowColor), + ), + onHorizontalDragUpdate: moveGestureDetector, + onVerticalDragUpdate: moveGestureDetector, + onHorizontalDragStart: newGestureDetector, + onVerticalDragStart: newGestureDetector, + ), + ), + ) + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _tapClear, + backgroundColor: Colors.redAccent, + foregroundColor: Colors.white, + child: Icon(Icons.delete), + ), + ) + ); + } +} + +class PaintCanvas extends CustomPainter{ + + final List lines; + final List nowPoints; + final Color nowColor; + + PaintCanvas(this.lines, this.nowPoints, this.nowColor); + + @override + void paint(Canvas canvas, Size size) { + Paint p = new Paint() + ..color = Colors.redAccent + ..strokeCap = StrokeCap.round + ..strokeWidth = 5.0; + canvas.save(); + for (int i = 0; i < lines.length; i++) { + LinePoints l = lines[i]; + for (int j = 1; j < l.points.length; j++){ + Offset p1 = l.points[j - 1]; + Offset p2 = l.points[j]; + p.color = l.lineColor; + canvas.drawLine(p1, p2, p); + } + } + for (int i = 1; i < nowPoints.length; i++){ + Offset p1 = nowPoints[i - 1]; + Offset p2 = nowPoints[i]; + p.color = nowColor; + canvas.drawLine(p1, p2, p); + } + + canvas.restore(); + } + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return true; + } +} + +class LinePoints{ + final List points; + final Color lineColor; + LinePoints(this.points, this.lineColor); +} + +class ColorPallet extends StatelessWidget { + final Color color; + final Function changeColor; + const ColorPallet({Key key, this.color, this.changeColor, this.isSelect}) : super(key: key); + final bool isSelect; + + void onPressed(){ + changeColor(color); + } + + @override + Widget build(BuildContext context) { + return new RawMaterialButton( + onPressed: onPressed, + constraints: BoxConstraints(minWidth: 60.0,minHeight: 50.0), + child: new Container( + margin: EdgeInsets.only(top: 5.0,bottom: 5.0), + width: 50.0, + height: 50.0, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.all(Radius.circular(25.0)), + border: Border.all(color: Colors.white,width: isSelect?3.0:0.0) + ), + )) ; + } +} \ No newline at end of file diff --git a/lib/widgets/elements/Media/Canvas/PainterSketch/index.dart b/lib/widgets/elements/Media/Canvas/PainterSketch/index.dart new file mode 100644 index 00000000..f6a744e8 --- /dev/null +++ b/lib/widgets/elements/Media/Canvas/PainterSketch/index.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_go/components/widget_demo.dart'; +import './demo.dart' as demoBoxs; + +const Text = ''' +### **简介** +> 操作图形的界面; + +'''; +const Text1 = ''' +### **基本用法** +- canvas + paint + GestureDetector 实现一个 简易的画板; +'''; + + +class Demo extends StatefulWidget { + static const String routeName = '/element/Media/Canvas/PainterSketch'; + + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + title: 'Canvas', + codeUrl: 'elements/Media/Canvas/PainterSketch/demo.dart', + contentList: [ + Text, + Text1, + demoBoxs.PainterSketchDome() + ], + docUrl: 'https://docs.flutter.io/flutter/dart-ui/Paint-class.html', + ); + } +} + diff --git a/lib/widgets/elements/Media/Canvas/index.dart b/lib/widgets/elements/Media/Canvas/index.dart index e3e60ec0..d3c73227 100644 --- a/lib/widgets/elements/Media/Canvas/index.dart +++ b/lib/widgets/elements/Media/Canvas/index.dart @@ -1 +1,31 @@ -// import 'package:flutter/material.dart'; +import 'package:flutter_go/model/widget.dart'; +import "package:flutter/material.dart"; + +import 'PainterSketch/index.dart' as PainterSketch; +import 'Canvas/index.dart' as Canvas; +import 'PainterPath/index.dart' as PainterPath; +import 'CircleProgressBarPainter/index.dart' as CircleProgressBarPainter; + + +List widgetPoints = [ + WidgetPoint( + name: 'PainterSketch', + routerName: PainterSketch.Demo.routeName, + buildRouter: (BuildContext context) => PainterSketch.Demo(), + ), + WidgetPoint( + name: 'Canvas', + routerName: Canvas.Demo.routeName, + buildRouter: (BuildContext context) => Canvas.Demo(), + ), + WidgetPoint( + name: 'PainterPath', + routerName: PainterPath.Demo.routeName, + buildRouter: (BuildContext context) => PainterPath.Demo(), + ), + WidgetPoint( + name: 'CircleProgressBarPainter', + routerName: CircleProgressBarPainter.Demo.routeName, + buildRouter: (BuildContext context) => CircleProgressBarPainter.Demo(), + ) +]; diff --git a/lib/widgets/elements/Media/Icon/Icon/demo.dart b/lib/widgets/elements/Media/Icon/Icon/demo.dart index 6b5d2fc4..989b3a7a 100644 --- a/lib/widgets/elements/Media/Icon/Icon/demo.dart +++ b/lib/widgets/elements/Media/Icon/Icon/demo.dart @@ -14,7 +14,7 @@ class IconDemo extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - child: new Icon( + child: Icon( Icons.favorite, color: this.curColor, size: 30.0, diff --git a/lib/widgets/elements/Media/Icon/IconData/demo.dart b/lib/widgets/elements/Media/Icon/IconData/demo.dart index 4dae9660..2998fcec 100644 --- a/lib/widgets/elements/Media/Icon/IconData/demo.dart +++ b/lib/widgets/elements/Media/Icon/IconData/demo.dart @@ -7,16 +7,16 @@ import 'package:flutter/material.dart'; class IconDataDemo extends StatelessWidget { - final Color curColor ; + final Color curColor; IconDataDemo({Key key, this.curColor}) : super(); @override Widget build(BuildContext context) { return Container( - child: new Icon( + child: Icon( //参考 icon constans - new IconData(0xe567, + IconData(0xe567, fontFamily: 'MaterialIcons', matchTextDirection: true), color: this.curColor, size: 30.0, diff --git a/lib/widgets/elements/Media/Icon/IconTheme/demo.dart b/lib/widgets/elements/Media/Icon/IconTheme/demo.dart index 53fa28a0..ed1845ca 100644 --- a/lib/widgets/elements/Media/Icon/IconTheme/demo.dart +++ b/lib/widgets/elements/Media/Icon/IconTheme/demo.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; class IconThemeDemo extends StatelessWidget { - final Color curColor ; + final Color curColor; IconThemeDemo({Key key, this.curColor}) : super(); @@ -15,17 +15,20 @@ class IconThemeDemo extends StatelessWidget { Widget build(BuildContext context) { return AppBar( actions: [ - new IconTheme( - data: new IconThemeData(color: curColor, opacity: 3.0), - child: Container( - padding: EdgeInsets.all(20.0), child: Icon(Icons.equalizer))), + IconTheme( + data: IconThemeData(color: curColor, opacity: 3.0), + child: Container( + padding: EdgeInsets.all(20.0), + child: Icon(Icons.equalizer), + ), + ), ], ); } } class IconThemeDemo2 extends StatelessWidget { - final Color curColor ; + final Color curColor; final double curSize; IconThemeDemo2({Key key, this.curColor, this.curSize}) : super(); @@ -34,8 +37,8 @@ class IconThemeDemo2 extends StatelessWidget { Widget build(BuildContext context) { return AppBar( actions: [ - new IconTheme( - data: new IconThemeData(color: curColor, opacity: 3.0), + IconTheme( + data: IconThemeData(color: curColor, opacity: 3.0), child: Row( children: [ Icon( diff --git a/lib/widgets/elements/Media/Icon/IconThemeData/demo.dart b/lib/widgets/elements/Media/Icon/IconThemeData/demo.dart index 4fb49517..a33a2bd5 100644 --- a/lib/widgets/elements/Media/Icon/IconThemeData/demo.dart +++ b/lib/widgets/elements/Media/Icon/IconThemeData/demo.dart @@ -8,7 +8,7 @@ import 'package:flutter/material.dart'; class IconThemeDemo extends StatelessWidget { - final Color curColor ; + final Color curColor; final double curOpacity; IconThemeDemo({Key key, this.curColor, this.curOpacity}) : super(); @@ -16,20 +16,20 @@ class IconThemeDemo extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - child: new IconTheme( + child: IconTheme( //opacity: 设置透明 - data: new IconThemeData( + data: IconThemeData( color: curColor, opacity: curOpacity, ), - child: new Icon(Icons.favorite), + child: Icon(Icons.favorite), ), ); } } class IconThemeDemo2 extends StatelessWidget { - final Color curColor ; + final Color curColor; final double curSize; IconThemeDemo2({Key key, this.curColor, this.curSize}) : super(); @@ -38,8 +38,8 @@ class IconThemeDemo2 extends StatelessWidget { Widget build(BuildContext context) { return AppBar( actions: [ - new IconTheme( - data: new IconThemeData(color: curColor, opacity: 1.0), + IconTheme( + data: IconThemeData(color: curColor, opacity: 1.0), child: Row( children: [ Icon(Icons.favorite_border), diff --git a/lib/widgets/elements/Media/Icon/ImageIcon/demo.dart b/lib/widgets/elements/Media/Icon/ImageIcon/demo.dart index 24ddeeb6..c5daecb1 100644 --- a/lib/widgets/elements/Media/Icon/ImageIcon/demo.dart +++ b/lib/widgets/elements/Media/Icon/ImageIcon/demo.dart @@ -10,8 +10,8 @@ class ImageIconDemo extends StatelessWidget { @override Widget build(BuildContext context) { //注意:当你用一个图片的时候,这个图片会被整个覆盖,只保留图片的形状,填充你设置的颜色 - return new ImageIcon( - new AssetImage('assets/images/btn_icon_dingyuehao_normal.png'), + return ImageIcon( + AssetImage('assets/images/btn_icon_dingyuehao_normal.png'), color: Colors.red, size: 50.0, ); diff --git a/lib/widgets/elements/Media/Icon/index.dart b/lib/widgets/elements/Media/Icon/index.dart index 0551c584..630bf3b4 100644 --- a/lib/widgets/elements/Media/Icon/index.dart +++ b/lib/widgets/elements/Media/Icon/index.dart @@ -17,20 +17,20 @@ List widgetPoints = [ name: 'ImageIcon', routerName: ImageIcon.Demo.routeName, buildRouter: (BuildContext context) => ImageIcon.Demo(), - ), WidgetPoint( + ), + WidgetPoint( name: 'IconTheme', routerName: IconTheme.Demo.routeName, buildRouter: (BuildContext context) => IconTheme.Demo(), ), - WidgetPoint( + WidgetPoint( name: 'IconData', routerName: IconData.Demo.routeName, buildRouter: (BuildContext context) => IconData.Demo(), ), - WidgetPoint( + WidgetPoint( name: 'IconThemeData', routerName: IconThemeData.Demo.routeName, buildRouter: (BuildContext context) => IconThemeData.Demo(), ), - ]; diff --git a/lib/widgets/elements/Media/Image/DecorationImage/index.dart b/lib/widgets/elements/Media/Image/DecorationImage/index.dart index 25d40d4c..8fadb96b 100644 --- a/lib/widgets/elements/Media/Image/DecorationImage/index.dart +++ b/lib/widgets/elements/Media/Image/DecorationImage/index.dart @@ -38,7 +38,7 @@ class _DemoState extends State { contentText1, DecorationImageDemo(), ], - codeUrl: 'elements/Media/Image/DecorationImage/index.dart?1542705856254', + codeUrl: 'elements/Media/Image/DecorationImage/decorationImage_demo.dart', docUrl: 'https://docs.flutter.io/flutter/painting/DecorationImage-class.html', title: 'DecorationImage', diff --git a/lib/widgets/elements/Media/Image/FadeInImage/fade_in_image_demo.dart b/lib/widgets/elements/Media/Image/FadeInImage/fade_in_image_demo.dart index a4cd8287..3e6f56d0 100644 --- a/lib/widgets/elements/Media/Image/FadeInImage/fade_in_image_demo.dart +++ b/lib/widgets/elements/Media/Image/FadeInImage/fade_in_image_demo.dart @@ -11,8 +11,8 @@ class FadeInImageDemo extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - new ClipOval( - child: new FadeInImage.assetNetwork( + ClipOval( + child: FadeInImage.assetNetwork( placeholder: "assets/images/normal_user_icon.png", //预览图 fit: BoxFit.fitWidth, image: @@ -24,10 +24,10 @@ class FadeInImageDemo extends StatelessWidget { SizedBox( height: 20.0, ), - new CircleAvatar( - backgroundImage: new NetworkImage( + CircleAvatar( + backgroundImage: NetworkImage( "https://img.alicdn.com/tfs/TB148sWfMHqK1RjSZFgXXa7JXXa-536-482.png"), - child: new Text("一凨"), //可以在图片上添加文字等等 + child: Text("一凨"), //可以在图片上添加文字等等 ), ], ); diff --git a/lib/widgets/elements/Media/Image/FileImage/file_image_demo.dart b/lib/widgets/elements/Media/Image/FileImage/file_image_demo.dart index 492251fe..c4ebf73a 100644 --- a/lib/widgets/elements/Media/Image/FileImage/file_image_demo.dart +++ b/lib/widgets/elements/Media/Image/FileImage/file_image_demo.dart @@ -13,7 +13,7 @@ import 'dart:io'; class FileImageDemo extends StatefulWidget { @override - _FileImageDemoState createState() => new _FileImageDemoState(); + _FileImageDemoState createState() => _FileImageDemoState(); } class _FileImageDemoState extends State { @@ -31,10 +31,10 @@ class _FileImageDemoState extends State { Widget build(BuildContext context) { return Column( children: [ - new Center( + Center( child: _image == null - ? new Text('您还未选择任何图片.') - : new Image.file(_image,scale: 0.5,fit: BoxFit.cover,), + ? Text('您还未选择任何图片.') + : Image.file(_image,scale: 0.5,fit: BoxFit.cover,), ), FlatButton( onPressed: getImage, diff --git a/lib/widgets/elements/Media/Image/MemoryImage/index.dart b/lib/widgets/elements/Media/Image/MemoryImage/index.dart index a7d42d87..b81c9587 100644 --- a/lib/widgets/elements/Media/Image/MemoryImage/index.dart +++ b/lib/widgets/elements/Media/Image/MemoryImage/index.dart @@ -40,7 +40,7 @@ class _DemoState extends State { // desc: 'MemoryImage 使用介绍', docUrl: 'https://docs.flutter.io/flutter/painting/MemoryImage-class.html', codeUrl: - 'elements/Media/Image/MemoryImage/index.dart?1542777213280', + 'elements/Media/Image/MemoryImage/index.dart', ); } } diff --git a/lib/widgets/elements/Media/Image/MemoryImage/memory_image_demo.dart b/lib/widgets/elements/Media/Image/MemoryImage/memory_image_demo.dart index a7ad8132..1ee10992 100644 --- a/lib/widgets/elements/Media/Image/MemoryImage/memory_image_demo.dart +++ b/lib/widgets/elements/Media/Image/MemoryImage/memory_image_demo.dart @@ -29,11 +29,11 @@ class _MemoryImageDemoState extends State { @override Widget build(BuildContext context) { - final decoration = new BoxDecoration( + final decoration = BoxDecoration( image: bytes == null ? null - : new DecorationImage( - image: new MemoryImage(bytes,scale: 1.0), + : DecorationImage( + image: MemoryImage(bytes,scale: 1.0), ), ); return Container( diff --git a/lib/widgets/elements/Media/Image/NetworkImage/index.dart b/lib/widgets/elements/Media/Image/NetworkImage/index.dart index b417e84c..4f488956 100644 --- a/lib/widgets/elements/Media/Image/NetworkImage/index.dart +++ b/lib/widgets/elements/Media/Image/NetworkImage/index.dart @@ -34,7 +34,7 @@ class _DemoState extends State { contentText1, NetworkImageDemo(), ], - codeUrl: '', + codeUrl: 'elements/Media/Image/NetworkImage/network_image_demo.dart', docUrl: 'https://docs.flutter.io/flutter/painting/NetworkImage-class.html', title: 'NetworkImage', ); diff --git a/lib/widgets/elements/Media/index.dart b/lib/widgets/elements/Media/index.dart index c11673ed..3933301f 100644 --- a/lib/widgets/elements/Media/index.dart +++ b/lib/widgets/elements/Media/index.dart @@ -6,10 +6,12 @@ */ import 'Image/index.dart' as Image; import 'Icon/index.dart' as Icon; +import 'Canvas/index.dart' as Canvas; List getWidgets() { List result = []; result.addAll(Image.widgetPoints); result.addAll(Icon.widgetPoints); + result.addAll(Canvas.widgetPoints); return result; } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart b/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart index f129af54..cc4d419f 100644 --- a/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart +++ b/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart @@ -25,8 +25,7 @@ class CupertinoAppFullDefault extends StatefulWidget { * CupertinoApp 默认的实例,有状态 * */ class _CupertinoAppFullDefault extends State { - - routerHandler(setting){ + routerHandler(setting) { //setting.isInitialRoute; bool类型 是否初始路由 //setting.name; 要跳转的路由名key return PageRouteBuilder( @@ -37,17 +36,16 @@ class _CupertinoAppFullDefault extends State { opaque: false, //跳转动画 transitionDuration: Duration(milliseconds: 200), - transitionsBuilder: (___, Animation animation, ____, Widget child) { + transitionsBuilder: + (___, Animation animation, ____, Widget child) { return FadeTransition( opacity: animation, - child: new ScaleTransition( - scale: new Tween(begin: 0.5, end: 1.0) - .animate(animation), + child: ScaleTransition( + scale: Tween(begin: 0.5, end: 1.0).animate(animation), child: child, ), ); - } - ); + }); } @override @@ -57,63 +55,78 @@ class _CupertinoAppFullDefault extends State { width: MediaQuery.of(context).size.width, //height: 500.0, child: CupertinoApp( - title: '这里是标题',// 设备用于识别用户的应用程序的单行描述 - builder: (BuildContext context,Widget child) { // 覆盖下面的所有界面,一般当作追加属性用 + title: '这里是标题', // 设备用于识别用户的应用程序的单行描述 + builder: (BuildContext context, Widget child) { + // 覆盖下面的所有界面,一般当作追加属性用 //return Container(child:Text('这里是内容1',style:TextStyle(color:Colors.black))); - return MediaQuery(// 当构建一个Widget前,调用一般做字体大小,方向,主题颜色等配置 - //字体大小 - data: MediaQuery.of(context).copyWith(textScaleFactor: 1.4), - child: child - ); + return MediaQuery( + // 当构建一个Widget前,调用一般做字体大小,方向,主题颜色等配置 + //字体大小 + data: MediaQuery.of(context).copyWith(textScaleFactor: 1.4), + child: child); }, - checkerboardOffscreenLayers:false, // 打开渲染到屏幕外位图的图层的checkerboarding - checkerboardRasterCacheImages:false, // 打开光栅缓存图像的检查板。 - debugShowCheckedModeBanner:true,// 在debug模式下打开一个小“DEBUG”横幅,表示该应用程序处于检查模式 + checkerboardOffscreenLayers: false, // 打开渲染到屏幕外位图的图层的checkerboarding + checkerboardRasterCacheImages: false, // 打开光栅缓存图像的检查板。 + debugShowCheckedModeBanner: + true, // 在debug模式下打开一个小“DEBUG”横幅,表示该应用程序处于检查模式 color: Colors.red, // 该颜色为程序切换中应用图标背景的颜色,当应用图标背景为透明时 // home: HomePage(),// 进入程序后显示的第一个页面,传入的是一个Widget,但实际上这个Widget需要包裹一个Scaffold - home: CupertinoPageScaffold(// 进入程序后显示的第一个页面,传入的是一个Widget,但实际上这个Widget需要包裹一个Scaffold + home: CupertinoPageScaffold( + // 进入程序后显示的第一个页面,传入的是一个Widget,但实际上这个Widget需要包裹一个Scaffold navigationBar: CupertinoNavigationBar( leading: Icon(CupertinoIcons.back), middle: Text('Title'), trailing: Icon(CupertinoIcons.share), ), - child:Container( // home 对应的内容和 router对应的内容,同时存在 + child: Container( + // home 对应的内容和 router对应的内容,同时存在 padding: const EdgeInsets.only(bottom: 60.0), alignment: Alignment.center, - child:Text('这里是 home 属性对应的内容',style:TextStyle(color:Colors.black)) - ), // 应用程序默认路由,(Navigator.defaultRouteName,即/) - ), - initialRoute:'/home',// 如果构建了导航器,则显示的第一条路径的名称,初始路由,当用户进入程序时,自动打开对应的路由。(home还是位于一级)传入的是上面routes的key - locale:Locale('zh', 'CH'),// 本地化初始值 - localeResolutionCallback: (local,support){// 区域分辨回调,当传入的是不支持的语种,可以根据这个回调,返回相近,并且支持的语种 - return const Locale('us','uk'); + child: Text('这里是 home 属性对应的内容', + style: TextStyle( + color: Colors + .black))), // 应用程序默认路由,(Navigator.defaultRouteName,即/) + ), + initialRoute: + '/home', // 如果构建了导航器,则显示的第一条路径的名称,初始路由,当用户进入程序时,自动打开对应的路由。(home还是位于一级)传入的是上面routes的key + locale: Locale('zh', 'CH'), // 本地化初始值 + localeResolutionCallback: (local, support) { + // 区域分辨回调,当传入的是不支持的语种,可以根据这个回调,返回相近,并且支持的语种 + return const Locale('us', 'uk'); }, - localizationsDelegates:[], // 本地化委托,用于更改Flutter Widget默认的提示语,按钮text等,返回一个 继承自 LocalizationsDelegate 的对象 - navigatorKey:GlobalKey(), // 导航主键 GlobalKey - navigatorObservers: [ // 路由观察器,当调用Navigator的相关方法时,会回调相关的操作 + localizationsDelegates: [], // 本地化委托,用于更改Flutter Widget默认的提示语,按钮text等,返回一个 继承自 LocalizationsDelegate 的对象 + navigatorKey: GlobalKey(), // 导航主键 GlobalKey + navigatorObservers: [ + // 路由观察器,当调用Navigator的相关方法时,会回调相关的操作 MyObserver(), ], - onGenerateRoute: (setting){ // 当通过Navigation.of(context).pushNamed跳转路由时,在routes查找不到时,会调用该方法 + onGenerateRoute: (setting) { + // 当通过Navigation.of(context).pushNamed跳转路由时,在routes查找不到时,会调用该方法 routerHandler(setting); }, - onGenerateTitle: (context){ // 跟上面的tiitle一样,但含有一个context参数用于做本地化 + onGenerateTitle: (context) { + // 跟上面的tiitle一样,但含有一个context参数用于做本地化 return 'Flutter应用'; }, - onUnknownRoute: (setting){ // 效果跟onGenerateRoute一样调用顺序为onGenerateRoute ==> onUnknownRoute + onUnknownRoute: (setting) { + // 效果跟onGenerateRoute一样调用顺序为onGenerateRoute ==> onUnknownRoute //RouterHandler(setting); }, - routes: { // 声明程序中有哪个通过Navigation.of(context).pushNamed跳转的路由参数以键值对的形式传递key:路由名字value:对应的Widget - '/home':(BuildContext context) => HomePage(), - '/home/one':(BuildContext context) => OnePage(), + routes: { + // 声明程序中有哪个通过Navigation.of(context).pushNamed跳转的路由参数以键值对的形式传递key:路由名字value:对应的Widget + '/home': (BuildContext context) => HomePage(), + '/home/one': (BuildContext context) => OnePage(), }, - showPerformanceOverlay:false, // 当为true时应用程序顶部覆盖一层GPU和UI曲线图,可即时查看当前流畅度情况 - showSemanticsDebugger:false, // 当为true时,打开Widget边框,类似Android开发者模式中显示布局边界 - supportedLocales:[// 传入支持的语种数组 + showPerformanceOverlay: + false, // 当为true时应用程序顶部覆盖一层GPU和UI曲线图,可即时查看当前流畅度情况 + showSemanticsDebugger: + false, // 当为true时,打开Widget边框,类似Android开发者模式中显示布局边界 + supportedLocales: [ + // 传入支持的语种数组 const Locale('uok'), const Locale('meg'), ], - ) - ); + )); } Widget homeBuild(BuildContext context) { @@ -141,12 +154,11 @@ class _CupertinoAppFullDefault extends State { child: Center(child: Text('这里是内容', style: TextStyle(color: Colors.black))), backgroundColor: CupertinoColors.inactiveGray, ); - } - ); + }); } } -class MyObserver extends NavigatorObserver{ +class MyObserver extends NavigatorObserver { @override void didPush(Route route, Route previousRoute) { // 当调用Navigator.push时回调 @@ -157,16 +169,17 @@ class MyObserver extends NavigatorObserver{ } } -class HomePage extends StatelessWidget{ +class HomePage extends StatelessWidget { @override - Widget build(BuildContext context){ - return Center(child:Text('HomePage',style:TextStyle(color:Colors.black))); + Widget build(BuildContext context) { + return Center( + child: Text('HomePage', style: TextStyle(color: Colors.black))); } } -class OnePage extends StatelessWidget{ +class OnePage extends StatelessWidget { @override - Widget build(BuildContext context){ - return Center(child:Text('OnePage',style:TextStyle(color:Colors.red))); + Widget build(BuildContext context) { + return Center(child: Text('OnePage', style: TextStyle(color: Colors.red))); } -} \ No newline at end of file +} diff --git a/lib/widgets/themes/Cupertino/CupertinoApp/index.dart b/lib/widgets/themes/Cupertino/CupertinoApp/index.dart index 124c1658..4fd0f923 100644 --- a/lib/widgets/themes/Cupertino/CupertinoApp/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoApp/index.dart @@ -47,7 +47,7 @@ class _DemoState extends State { ], title: 'CupertinoApp', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoApp-class.html', - codeUrl: '/themes/Cupertino/CupertinoApp/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoApp/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoButton/index.dart b/lib/widgets/themes/Cupertino/CupertinoButton/index.dart index 4f69f315..71a6ce57 100644 --- a/lib/widgets/themes/Cupertino/CupertinoButton/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoButton/index.dart @@ -39,7 +39,7 @@ class _DemoState extends State { ], title: 'CupertinoButton', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoButton-class.html', - codeUrl: '/themes/Cupertino/CupertinoButton/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoButton/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoColors/index.dart b/lib/widgets/themes/Cupertino/CupertinoColors/index.dart index d8f5e6ca..412619d7 100644 --- a/lib/widgets/themes/Cupertino/CupertinoColors/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoColors/index.dart @@ -36,7 +36,7 @@ class _DemoState extends State { ], title: 'CupertinoColors', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoColors-class.html', - codeUrl: '/themes/Cupertino/CupertinoColor/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoColors/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoIcons/index.dart b/lib/widgets/themes/Cupertino/CupertinoIcons/index.dart index 93b60c1d..ef3fbf23 100644 --- a/lib/widgets/themes/Cupertino/CupertinoIcons/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoIcons/index.dart @@ -38,7 +38,7 @@ class _DemoState extends State { ], title: 'CupertinoIcons', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoIcons-class.html', - codeUrl: '/themes/Cupertino/CupertinoColor/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoIcons/demo.dart' ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoNavigationBar/index.dart b/lib/widgets/themes/Cupertino/CupertinoNavigationBar/index.dart index 939e791c..85ded637 100644 --- a/lib/widgets/themes/Cupertino/CupertinoNavigationBar/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoNavigationBar/index.dart @@ -48,7 +48,7 @@ class _DemoState extends State { ], title: 'CupertinoNavigationBar', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoNavigationBar-class.html', - codeUrl: '/themes/Cupertino/CupertinoNavigationBar/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoNavigationBar/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoPageRoute/index.dart b/lib/widgets/themes/Cupertino/CupertinoPageRoute/index.dart index e61ebc04..b492204b 100644 --- a/lib/widgets/themes/Cupertino/CupertinoPageRoute/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoPageRoute/index.dart @@ -41,7 +41,7 @@ class _DemoState extends State { ], title: 'CupertinoPageRoute', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoPageRoute-class.html', - codeUrl: '/themes/Cupertino/CupertinoPageRoute/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoPageRoute/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoPageScaffold/index.dart b/lib/widgets/themes/Cupertino/CupertinoPageScaffold/index.dart index 4e1808de..4c22b429 100644 --- a/lib/widgets/themes/Cupertino/CupertinoPageScaffold/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoPageScaffold/index.dart @@ -39,7 +39,7 @@ class _DemoState extends State { ], title: 'CupertinoPageScaffold', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoPageScaffold-class.html', - codeUrl: '/themes/Cupertino/CupertinoPageScaffold/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoPageScaffold/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoPicker/index.dart b/lib/widgets/themes/Cupertino/CupertinoPicker/index.dart index 24e93819..58e8328c 100644 --- a/lib/widgets/themes/Cupertino/CupertinoPicker/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoPicker/index.dart @@ -39,7 +39,7 @@ class _DemoState extends State { ], title: 'CupertinoPicker', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoPicker-class.html', - codeUrl: '/themes/Cupertino/CupertinoPicker/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoPicker/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoPopupSurface/index.dart b/lib/widgets/themes/Cupertino/CupertinoPopupSurface/index.dart index 24d5a09a..a4030a16 100644 --- a/lib/widgets/themes/Cupertino/CupertinoPopupSurface/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoPopupSurface/index.dart @@ -38,7 +38,7 @@ class _DemoState extends State { ], title: 'CupertinoPopupSurface', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoPopupSurface-class.html', - codeUrl: '/themes/Cupertino/CupertinoPopupSurface/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoPopupSurface/demo.dart', ); } } \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoScrollbar/index.dart b/lib/widgets/themes/Cupertino/CupertinoScrollbar/index.dart index 8e598703..229566e6 100644 --- a/lib/widgets/themes/Cupertino/CupertinoScrollbar/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoScrollbar/index.dart @@ -27,7 +27,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoScrollbar', - codeUrl: '/themes/Cupertino/CupertinoScrollbar/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoScrollbar/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/MaterialAccentColor-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart b/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart index 9e2e7765..d9e155ef 100644 --- a/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart +++ b/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart @@ -16,7 +16,7 @@ class CupertinoSegmentedControlDemo extends StatefulWidget { class _Demo extends State { String value = 'a'; Widget build(BuildContext context) { - return new CupertinoSegmentedControl( + return CupertinoSegmentedControl( onValueChanged: (v) { this.setState(() { value = v; diff --git a/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/index.dart b/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/index.dart index 2eb2d7c8..1fef5c8f 100644 --- a/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoSegmentedControl/index.dart @@ -32,7 +32,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoSegmentedControl', - codeUrl: '/themes/Cupertino/CupertinoSegmentedControl/demo.dart', + codeUrl: '/hemes/Cupertino/CupertinoSegmentedControl/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoSegmentedControl-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart b/lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart index cd46e5a8..160a1245 100644 --- a/lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart +++ b/lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart @@ -16,7 +16,7 @@ class CupertinoSliderDemo extends StatefulWidget { class _Demo extends State { double value = 0.0; Widget build(BuildContext context) { - return new CupertinoSlider( + return CupertinoSlider( value: value,//实际进度的位置 min: 0.0, max: 100.0, diff --git a/lib/widgets/themes/Cupertino/CupertinoSlider/index.dart b/lib/widgets/themes/Cupertino/CupertinoSlider/index.dart index a3b73bd0..a0c82e86 100644 --- a/lib/widgets/themes/Cupertino/CupertinoSlider/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoSlider/index.dart @@ -27,7 +27,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoSlider', - codeUrl: '/themes/Cupertino/CupertinoSlider/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoSlider/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoSlider-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/index.dart b/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/index.dart index 6b48e1c5..11c13344 100644 --- a/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/index.dart @@ -24,7 +24,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoSlider', - codeUrl: '/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoSliverNavigationBar/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoSliverNavigationBar-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoSwitch/index.dart b/lib/widgets/themes/Cupertino/CupertinoSwitch/index.dart index b86d294a..d5f315b1 100644 --- a/lib/widgets/themes/Cupertino/CupertinoSwitch/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoSwitch/index.dart @@ -25,7 +25,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoSlider', - codeUrl: '/themes/Cupertino/CupertinoSwitch/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoSwitch/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoSwitch-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoTabBar/index.dart b/lib/widgets/themes/Cupertino/CupertinoTabBar/index.dart index ee63deea..641f8d96 100644 --- a/lib/widgets/themes/Cupertino/CupertinoTabBar/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoTabBar/index.dart @@ -33,7 +33,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoTabBar', - codeUrl: '/themes/Cupertino/CupertinoTabBar/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoTabBar/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoTabBar-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoTabScaffold/index.dart b/lib/widgets/themes/Cupertino/CupertinoTabScaffold/index.dart index 5dcd85e9..ee25a4e7 100644 --- a/lib/widgets/themes/Cupertino/CupertinoTabScaffold/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoTabScaffold/index.dart @@ -39,7 +39,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoTabScaffold', - codeUrl: '/themes/Cupertino/CupertinoTabScaffold/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoTabScaffold/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoTabScaffold-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoTabView/index.dart b/lib/widgets/themes/Cupertino/CupertinoTabView/index.dart index 5cdb8516..214b7897 100644 --- a/lib/widgets/themes/Cupertino/CupertinoTabView/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoTabView/index.dart @@ -42,7 +42,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoTabView', - codeUrl: '/themes/Cupertino/CupertinoTabView/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoTabView/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoTabView-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart b/lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart index be683a88..3e3b597a 100644 --- a/lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart +++ b/lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart @@ -16,7 +16,7 @@ class CupertinoTimerPickerDemo extends StatefulWidget { class _Demo extends State { int index = 0; - Duration timer = new Duration(minutes: 50); + Duration timer = Duration(minutes: 50); Widget _buildBottomPicker(Widget picker) { return Container( diff --git a/lib/widgets/themes/Cupertino/CupertinoTimerPicker/index.dart b/lib/widgets/themes/Cupertino/CupertinoTimerPicker/index.dart index 6c882cfa..799db8a0 100644 --- a/lib/widgets/themes/Cupertino/CupertinoTimerPicker/index.dart +++ b/lib/widgets/themes/Cupertino/CupertinoTimerPicker/index.dart @@ -40,7 +40,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'CupertinoTimerPicker', - codeUrl: '/themes/Cupertino/CupertinoTimerPicker/demo.dart', + codeUrl: 'themes/Cupertino/CupertinoTimerPicker/demo.dart', docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoTimerPicker-class.html', contentList: [ Text0, diff --git a/lib/widgets/themes/Cupertino/index.dart b/lib/widgets/themes/Cupertino/index.dart index 2da137c6..2266f696 100644 --- a/lib/widgets/themes/Cupertino/index.dart +++ b/lib/widgets/themes/Cupertino/index.dart @@ -1,4 +1,5 @@ -import "package:flutter/material.dart"; +import 'package:flutter/material.dart'; + import '../../../model/widget.dart'; diff --git a/lib/widgets/themes/Material/MaterialAccentColor/index.dart b/lib/widgets/themes/Material/MaterialAccentColor/index.dart index 3e29db7d..8f25f82d 100644 --- a/lib/widgets/themes/Material/MaterialAccentColor/index.dart +++ b/lib/widgets/themes/Material/MaterialAccentColor/index.dart @@ -28,7 +28,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'MaterialAccentColor', - codeUrl: 'elements/themes/Material/MaterialAccentColor', + codeUrl: 'themes/Material/MaterialColor/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/MaterialAccentColor-class.html', contentList: [ diff --git a/lib/widgets/themes/Material/MaterialApp/demo.dart b/lib/widgets/themes/Material/MaterialApp/demo.dart index be00903d..d7e279bf 100644 --- a/lib/widgets/themes/Material/MaterialApp/demo.dart +++ b/lib/widgets/themes/Material/MaterialApp/demo.dart @@ -10,9 +10,9 @@ // class MaterialApp extends StatelessWidget { // @override // Widget build(BuildContext context) { -// return new MaterialApp( +// return MaterialApp( // title: 'title', -// theme: new ThemeData( +// theme: ThemeData( // primaryColor: Color(ThemeColor), // backgroundColor: Color(0xFFEFEFEF), // accentColor: Color(0xFF888888), @@ -25,7 +25,7 @@ // size: 35.0, // ), // ), -// home: new MyHomePage(), +// home: MyHomePage(), // onGenerateRoute: Application.router.generator, // ); // } diff --git a/lib/widgets/themes/Material/MaterialApp/index.dart b/lib/widgets/themes/Material/MaterialApp/index.dart index d6a9918b..fa3e540e 100644 --- a/lib/widgets/themes/Material/MaterialApp/index.dart +++ b/lib/widgets/themes/Material/MaterialApp/index.dart @@ -47,7 +47,7 @@ class _DemoState extends State { ], title: 'MaterialApp', docUrl: 'https://docs.flutter.io/flutter/material/MaterialApp-class.html', - codeUrl: '../main.dart', + codeUrl: 'themes/Material/MaterialApp/demo.dart', ); } -} \ No newline at end of file +} diff --git a/lib/widgets/themes/Material/MaterialButton/index.dart b/lib/widgets/themes/Material/MaterialButton/index.dart index 7716f8a5..4efa8c79 100644 --- a/lib/widgets/themes/Material/MaterialButton/index.dart +++ b/lib/widgets/themes/Material/MaterialButton/index.dart @@ -39,7 +39,7 @@ class _DemoState extends State { MaterialButtonDemo(), ], title: 'MaterialButton', - codeUrl: 'Material/MaterialButton/demo.dart', + codeUrl: 'themes/Material/MaterialButton/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/MaterialButton-class.html', ); diff --git a/lib/widgets/themes/Material/MaterialColor/demo.dart b/lib/widgets/themes/Material/MaterialColor/demo.dart index cd43abbc..83227034 100644 --- a/lib/widgets/themes/Material/MaterialColor/demo.dart +++ b/lib/widgets/themes/Material/MaterialColor/demo.dart @@ -14,10 +14,9 @@ class Palette { final String name; final MaterialColor primary; - /* - * MaterialAccentColor:定义单一的色滴,颜色的阴影用索引表示, - * 索引比较小的颜色比较浅,较大的索引较暗 - */ + /// MaterialAccentColor:定义单一的色滴,颜色的阴影用索引表示, + /// 索引比较小的颜色比较浅,较大的索引较暗 + final MaterialAccentColor accent; final int threshold; // titles for indices > threshold are white, otherwise black diff --git a/lib/widgets/themes/Material/MaterialColor/index.dart b/lib/widgets/themes/Material/MaterialColor/index.dart index 2d115912..5789c94d 100644 --- a/lib/widgets/themes/Material/MaterialColor/index.dart +++ b/lib/widgets/themes/Material/MaterialColor/index.dart @@ -36,7 +36,7 @@ class _DemoState extends State { ColorDemo(), ], title: "MaterialColor", - codeUrl: 'Material/MaterialColor/demo.dart', + codeUrl: 'themes/Material/MaterialColor/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/MaterialColor-class.html', ); diff --git a/lib/widgets/themes/Material/MaterialPageRoute/demo.dart b/lib/widgets/themes/Material/MaterialPageRoute/demo.dart index 260e078f..726dd428 100644 --- a/lib/widgets/themes/Material/MaterialPageRoute/demo.dart +++ b/lib/widgets/themes/Material/MaterialPageRoute/demo.dart @@ -14,18 +14,18 @@ class FirstPage extends StatefulWidget { } class _FirstPageState extends State { - var _usernameController = new TextEditingController(); - var _emailController = new TextEditingController(); + var _usernameController = TextEditingController(); + var _emailController = TextEditingController(); @override Widget build(BuildContext context) { return Column( children: [ Padding( - child: new Text( + child: Text( "账号登录", textAlign: TextAlign.center, - style: new TextStyle(fontWeight: FontWeight.bold, fontSize: 20), + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20), ), padding: EdgeInsets.only(bottom: 10.0), ), @@ -37,11 +37,11 @@ class _FirstPageState extends State { decoration: InputDecoration(labelText: "email"), controller: _emailController, ), - new RaisedButton( + RaisedButton( child: Text("点击跳转"), onPressed: () { - var route = new MaterialPageRoute( - builder: (BuildContext context) => new SecondPage( + var route = MaterialPageRoute( + builder: (BuildContext context) => SecondPage( value: User( account: _usernameController.text, email: _emailController.text)), @@ -65,21 +65,21 @@ class SecondPage extends StatefulWidget { class _SecondPageState extends State { @override Widget build(BuildContext context) { - return new Scaffold( - appBar: new AppBar( + return Scaffold( + appBar: AppBar( title: Text("MaterialPageRoute2"), ), - body: new Container( - child: new Center( + body: Container( + child: Center( child: Column( children: [ Container( padding: EdgeInsets.only(top: 30.0), - child: new Text("登陆成功!!!", + child: Text("登陆成功!!!", style: TextStyle( fontSize: 28, fontWeight: FontWeight.bold))), Padding( - child: new Text( + child: Text( 'account:${widget.value.account}', textAlign: TextAlign.center, style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), @@ -87,7 +87,7 @@ class _SecondPageState extends State { padding: EdgeInsets.only(bottom: 20.0, top: 40.0), ), Padding( - child: new Text( + child: Text( 'email:${widget.value.email}', textAlign: TextAlign.center, style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), diff --git a/lib/widgets/themes/Material/MaterialPageRoute/index.dart b/lib/widgets/themes/Material/MaterialPageRoute/index.dart index f4060185..a93a03eb 100644 --- a/lib/widgets/themes/Material/MaterialPageRoute/index.dart +++ b/lib/widgets/themes/Material/MaterialPageRoute/index.dart @@ -27,7 +27,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'MaterialPageRoute', - codeUrl: 'elements/themes/Material/MaterialPageRoute', + codeUrl: 'themes/Material/MaterialPageRoute/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/MaterialPageRoute-class.html', contentList: [ diff --git a/lib/widgets/themes/Material/MergeableMaterialItem/demo.dart b/lib/widgets/themes/Material/MergeableMaterialItem/demo.dart index df54a53e..8e43e352 100644 --- a/lib/widgets/themes/Material/MergeableMaterialItem/demo.dart +++ b/lib/widgets/themes/Material/MergeableMaterialItem/demo.dart @@ -25,20 +25,19 @@ class _MergeableMaterialItemState extends State { @override Widget build(BuildContext context) { items.add( - /** - * class MaterialSlice extends MergeableMaterialItem - */ - new MaterialSlice( - key: new ValueKey(currIndexNum), - child: new Column(children: [ + + //class MaterialSlice extends MergeableMaterialItem + MaterialSlice( + key: ValueKey(currIndexNum), + child: Column(children: [ // header, - new AnimatedCrossFade( - firstChild: new Container( + AnimatedCrossFade( + firstChild: Container( height: 20.0, width: 20.0, color: Colors.green, ), - secondChild: new Container( + secondChild: Container( height: 20.0, width: 20.0, color: Colors.red, @@ -57,8 +56,8 @@ class _MergeableMaterialItemState extends State { return Column( children: [ - new MergeableMaterial(hasDividers: true, children: items), - new RaisedButton( + MergeableMaterial(hasDividers: true, children: items), + RaisedButton( child: Text("点击添加"), onPressed: () { _isChildExpanded(); diff --git a/lib/widgets/themes/Material/MergeableMaterialItem/index.dart b/lib/widgets/themes/Material/MergeableMaterialItem/index.dart index 291de1f0..63d3682f 100644 --- a/lib/widgets/themes/Material/MergeableMaterialItem/index.dart +++ b/lib/widgets/themes/Material/MergeableMaterialItem/index.dart @@ -37,7 +37,7 @@ class _DemoState extends State { MergeableMaterialItemDemo(), ], title: "MergeableMaterialItem", - codeUrl: 'Material/MergeableMaterialItem/demo.dart', + codeUrl: 'themes/Material/MergeableMaterialItem/demo.dart', docUrl: 'https://docs.flutter.io/flutter/material/MergeableMaterialItem-class.html', ); diff --git a/pubspec.yaml b/pubspec.yaml index f9b53f58..c455a604 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -72,9 +72,11 @@ flutter: - lib/widgets/components/Grid/GridTile/demo.dart - lib/widgets/components/Grid/GridTileBar/demo.dart - lib/widgets/components/Grid/GridView/demo.dart - - lib/widgets/components/LIst/AnimatedList/demo.dart - - lib/widgets/components/LIst/ListBody/demo.dart - - lib/widgets/components/LIst/ListView/demo.dart + - lib/widgets/components/Grid/GridPaper/demo.dart + - lib/widgets/components/Grid/SliverGrid/demo.dart + - lib/widgets/components/List/AnimatedList/demo.dart + - lib/widgets/components/List/ListBody/demo.dart + - lib/widgets/components/List/ListView/demo.dart - lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart - lib/widgets/components/Menu/DropdownMenuItem/demo.dart - lib/widgets/components/Menu/PopupMenuButton/demo.dart @@ -125,11 +127,11 @@ flutter: - lib/widgets/elements/Frame/Box/Fittedbox/demo.dart - lib/widgets/elements/Frame/Box/LimitedBox/demo.dart - lib/widgets/elements/Frame/Box/OverflowBox/demo.dart - - lib/widgets/elements/Frame/Box/RenderBox/demo.dart - lib/widgets/elements/Frame/Box/RotatedBox/demo.dart - lib/widgets/elements/Frame/Box/SizeBox/demo.dart - lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart - - lib/widgets/elements/Frame/Box/TextBox/demo.dart + - lib/widgets/elements/Form/Text/Text/demo.dart + - lib/widgets/elements/Form/Text/RichText/index.dart - lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart - lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart - lib/widgets/elements/Frame/Layout/Center/demo.dart @@ -159,23 +161,37 @@ flutter: - lib/widgets/elements/Media/Image/paintImage/paint_image_demo.dart - lib/widgets/elements/Media/Image/precacheImage/precache_image_demo.dart - lib/widgets/elements/Media/Image/RawImage/raw_image_demo.dart + - lib/widgets/elements/Media/Canvas/Canvas/demo.dart + - lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/demo.dart + - lib/widgets/elements/Media/Canvas/PainterPath/demo.dart + - lib/widgets/elements/Media/Canvas/PainterSketch/demo.dart - lib/widgets/themes/Material/MaterialApp/demo.dart - lib/widgets/themes/Material/MaterialButton/demo.dart - lib/widgets/themes/Material/MaterialColor/demo.dart - lib/widgets/themes/Material/MaterialPageRoute/demo.dart - lib/widgets/themes/Material/MergeableMaterialItem/demo.dart + - lib/widgets/themes/Cupertino/CupertinoApp/demo.dart + - lib/widgets/themes/Cupertino/CupertinoButton/demo.dart + - lib/widgets/themes/Cupertino/CupertinoColors/demo.dart + - lib/widgets/themes/Cupertino/CupertinoIcons/demo.dart + - lib/widgets/themes/Cupertino/CupertinoNavigationBar/demo.dart + - lib/widgets/themes/Cupertino/CupertinoPageRoute/demo.dart + - lib/widgets/themes/Cupertino/CupertinoPageScaffold/demo.dart + - lib/widgets/themes/Cupertino/CupertinoPicker/demo.dart + - lib/widgets/themes/Cupertino/CupertinoPopupSurface/demo.dart - lib/widgets/themes/Cupertino/CupertinoScrollbar/demo.dart - - lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart - lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart - lib/widgets/elements/Form/Switch/Switch/demo.dart + - lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart + - lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart - lib/widgets/themes/Cupertino/CupertinoSwitch/demo.dart - lib/widgets/themes/Cupertino/CupertinoTabBar/demo.dart + - lib/widgets/themes/Cupertino/CupertinoTabScaffold/demo.dart - lib/widgets/themes/Cupertino/CupertinoTabView/demo.dart + - lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart - assets/app.db - assets/images/ - assets/fonts/ - - lib/utils/example_code_parser.dart - - lib/utils/syntax_highlighter.dart fonts: - family: FlamanteRoma