修改部分表述问题

This commit is contained in:
toly
2022-03-27 11:22:16 +08:00
parent 5fb9805376
commit cd6e9f3b5f
37 changed files with 296 additions and 110 deletions

View File

@@ -48,6 +48,8 @@ android {
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
archivesBaseName = "FlutterUnit.apk"
}
buildTypes {

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

View File

@@ -1,6 +1,6 @@
/// create by 张风捷特烈 on 2020-04-13
/// contact me by email 1981462002@qq.com
/// 说明:
/// 说明: ...
import 'package:flutter/material.dart';
import 'package:flutter_unit/app/res/toly_icon.dart';
import 'package:flutter_unit/app/router/router_utils.dart';
@@ -36,8 +36,8 @@ class AboutAppPage extends StatelessWidget {
Positioned(
bottom: 0,
left: 50,
child: GestureDetector(
onTap: (){
child: FeedbackWidget(
onEnd : (){
Navigator.push(context, Right2LeftRouter(child: const FlutterUnitTimeLine()));
},
child: CircleImage(
@@ -152,9 +152,9 @@ class AboutAppPage extends StatelessWidget {
),
InfoPanel(
title: '项目简介',
info: ' Flutter Unit 是一个非盈利性的开源项目,'
'旨在提供全面的Flutter学习指南及编程者的交流技术的接口。'
'由【张风捷特烈】提供技术支持和全权维护。唯一开源网站网址: '
info: 'Flutter Unit 是一个非盈利性的开源项目,'
'旨在提供全面的 Flutter 学习指南及编程者的交流技术的接口。'
'由【张风捷特烈】提供技术支持和全权维护。唯一开源网站网址:\n '
'https://github.com/toly1994328/FlutterUnit',
),
Divider(
@@ -176,10 +176,13 @@ class AboutAppPage extends StatelessWidget {
height: 20,
),
InfoPanel(
title: 'Flutter Unit 2.0 计划',
info: 'Flutter Unit 2.0 尚在计划之中如果说1.0是本王单枪匹马,'
'那2.0将是Flutter爱好者的共同努力。后面陆续会发布一些征集方案'
'包括属性、布局、绘制、bug、要点集录等。吾想让Unit 成为一个Flutter的圣地纯粹而强大,期待与你的共同携手。',
title: 'Flutter Unit 2.0 ',
info:
'○ 317 的 Flutter 组件收录和详情介绍。\n'
'○ 绘制集录用于收录绘制相关的优秀示例。\n'
'○ 要点集录用于收录 Flutter 相关的小知识。\n'
'○ 时光轴,查看 FlutterUnit 重要事件。\n'
'○ 实现应用内更新功能,方便使用者及时更新到最新版体验。'
)
],
),

View File

@@ -1,6 +1,6 @@
/// create by 张风捷特烈 on 2020-04-13
/// contact me by email 1981462002@qq.com
/// 说明:
/// 说明: ...
import 'package:flutter/material.dart';
import 'package:flutter_unit/app/res/toly_icon.dart';
import 'package:flutter_unit/components/permanent/circle_image.dart';

View File

@@ -1,5 +1,7 @@
import 'package:dash_painter/dash_painter.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_unit/app/blocs/global/global_bloc.dart';
import 'package:wrapper/wrapper.dart';
import 'model/time_node.dart';
@@ -24,9 +26,8 @@ class FlutterUnitTimeLine extends StatelessWidget {
timeNode: TimeNode(
title: 'FlutterUnit 正式开源',
year: '2020',
content: 'V1.0 版本: 核心功能是组件集录,此时收录 200+ 组件的基本使用方式。',
imageUrl:
'https://gitee.com/toly1994/toly_blog_pic/raw/master/node1.webp',
content: 'V1.0 版本: 核心功能是组件集录,此时收录 213 组件的基本使用方式。',
imageUrl: 'https://gitee.com/toly1994/res/raw/master/img3.webp',
time: '2020-04-15',
),
),
@@ -34,30 +35,125 @@ class FlutterUnitTimeLine extends StatelessWidget {
timeNode: TimeNode(
title: '收藏夹功能完成',
content: '通过收藏夹功能,使用者可以自由创建收藏夹,对组件进行自己的分类。',
imageUrl:
'https://gitee.com/toly1994/toly_blog_pic/raw/master/node2.webp',
time: '2020-04-23',
),
),
TimeLineNode(
timeNode: TimeNode(
title: 'FlutterUnit 支持 MacOS',
content: '通过收藏夹功能,使用者可以自由创建收藏夹,对组件进行自己的分类',
content: '优化相关界面布局,在新分支中支持 MacOS 系统运行 FlutterUnit 程序',
imageUrl:
'https://gitee.com/toly1994/toly_blog_pic/raw/master/node4.webp',
time: '2020-05-05',
),
),
TimeLineNode(
timeNode: TimeNode(
title: 'FlutterUnit 支持 Windows',
content: '优化相关界面布局,在新分支中支持 Windows 系统运行 FlutterUnit 程序。',
time: '2020-07-09',
),
),
TimeLineNode(
timeNode: TimeNode(
title: 'FlutterUnit 支持 web',
content: '优化相关界面布局,在新分支中支持 Windows 系统运行 FlutterUnit 程序。',
time: '2020-08-12',
),
),
TimeLineNode(
timeNode: TimeNode(
title: ' Flutter 要点集录',
imageUrl: 'https://gitee.com/toly1994/res/raw/master/img2.webp',
content:
'要点集录会收集 FlutterUnit 中 point 标签的 issues在应用中进行展示从而达到对要点知识的收集',
imageUrl:
'https://gitee.com/toly1994/toly_blog_pic/raw/master/node3.webp',
'要点集录会收集 FlutterUnit 中 point 标签的 issues在应用中进行展示从而达到对要点知识的收集',
time: '2020-09-04',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '组件集录收集数',
content:
'收录组件数量从最初的 213 个增加到 306 个,已经涵盖了绝大多数 Flutter 框架中的原生组件。',
time: '2020-12-22',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '个人页面的加入',
content: '相比于侧滑菜单,通过个人页面,更方便进行一些应用的设置操作。',
time: '2020-12-22',
),
),
TimeLineNode(
timeNode: TimeNode(
year: '2021',
title: '绘制集录正式加入',
imageUrl:
'https://gitee.com/toly1994/res/raw/master/%E7%BB%98%E5%88%B6%E9%9B%86%E5%BD%95%E7%9A%84%E5%89%AF%E6%9C%AC.webp',
content:
'绘制集录目的在于收录一些有意思的绘制案例,帮助对绘制感兴趣的朋友更好地学习,另一方面也可以反映出 Flutter 在绘制方面的强大能力。',
time: '2021-01-22',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '后端服务计划启动',
content:
'基于 SpringBoot 框架实现 Flutter Unit Server打算实现用户系统支持组件收藏的用户化及同步操作以及应用中组件数据的线上化。(封测中)',
time: '2021-03-28',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '用户登录测试',
content: '后端完成基本的用户系统,基于邮箱校验,前端完成用户注册、登录等界面及交互逻辑。(封测中)',
time: '2021-05-01',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '全面支持空安全',
imageUrl:
'https://gitee.com/toly1994/res/raw/master/nullsafe.webp',
content: '由于 FlutterUnit 中存在大量的组件示例,支持空安全是一个非常大的挑战。',
time: '2021-08-29',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '绘制集录持续收集',
content:
'根据绘制、手势、动画等小册中的案例,进行收录到 FlutterUnit 绘制集录中,桌面版本也同步更新中。',
time: '2020-10-01',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '实现应用内升级',
imageUrl: 'https://gitee.com/toly1994/res/raw/master/img.webp',
content: '服务端完成应用版本检测接口,应用内升级的实现,方便大家更新版本,及时体验最新版功能。',
time: '2021-12-18',
),
),
TimeLineNode(
timeNode: TimeNode(
title: '项目及案例全面优化',
year: '2022',
imageUrl: 'https://gitee.com/toly1994/res/raw/master/img4.webp',
content:
'由于代码案例代码比较老旧,为了给新手朋友一个规范的示例。针对 Dart Analysis 中代码的规范性问题进行优化。由于案例数量太多,这又是一个非常巨大的挑战。',
time: '2021-03-26',
),
),
TimeLineNode(
timeNode: TimeNode(
title: 'FlutterUnit 2.0 发布',
content: '鉴于案例的优化完成、[绘制/组件]集录的收集情况、以及应用内更新的支持FlutterUnit 正式进入 2.0 版本。',
imageUrl: 'https://gitee.com/toly1994/res/raw/master/img3.webp',
time: '2022-03-28',
),
),
],
),
),
@@ -78,48 +174,44 @@ class TimeLineNode extends StatelessWidget {
@override
Widget build(BuildContext context) {
Color themeColor = BlocProvider.of<GlobalBloc>(context).state.themeColor;
return IntrinsicHeight(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.only(top: 20 + 5, left: 10),
child: timeNode.year != null
? Text(
'${timeNode.year}',
style: const TextStyle(
color: Colors.white, fontWeight: FontWeight.bold),
)
: const Visibility(
visible: false,
maintainState: true,
maintainSize: true,
maintainAnimation: true,
child: Text(
'2020 年',
style: TextStyle(
SizedBox(
width: 65,
child: Padding(
padding: const EdgeInsets.only(top: 20 + 5, left: 10),
child: timeNode.year != null
? Text(
'${timeNode.year}',
style: const TextStyle(
color: Colors.white, fontWeight: FontWeight.bold),
))),
_buildDecoration(),
Expanded(flex: 8, child: _buildCenterWidget()),
)
: const SizedBox.shrink()),
),
_buildDecoration(themeColor),
Expanded(flex: 8, child: _buildCenterWidget(themeColor)),
const Spacer(flex: 1)
],
),
);
}
Widget _buildDecoration() => Container(
Widget _buildDecoration(Color themeColor) => Container(
margin: const EdgeInsets.only(left: 10),
width: dashLineWith,
decoration: DashDecoration(
circleColor: Colors.blueAccent,
circleColor: themeColor,
lineColor: Colors.white,
circleRadius: circleRadius,
color: Colors.white,
circleOffset: Offset(lineWidth / 2, offset + 10 / 2)),
);
Widget _buildCenterWidget() {
Widget _buildCenterWidget(Color themeColor) {
return Padding(
padding: const EdgeInsets.only(top: 10),
child: Wrapper(
@@ -130,15 +222,14 @@ class TimeLineNode extends StatelessWidget {
children: [
Text(
timeNode.title,
style: const TextStyle(
fontWeight: FontWeight.bold, color: Colors.purple),
style: TextStyle(fontWeight: FontWeight.bold, color: themeColor),
),
Container(
margin: const EdgeInsets.symmetric(vertical: 5),
child: Text(
timeNode.content,
style: const TextStyle(
color: Colors.lightBlue,
color: Colors.grey,
fontSize: 12,
shadows: [
Shadow(color: Colors.blueAccent, blurRadius: .1)
@@ -160,8 +251,8 @@ class TimeLineNode extends StatelessWidget {
Align(
alignment: Alignment.centerRight,
child: Text(timeNode.time,
style: const TextStyle(
color: Colors.grey,
style: TextStyle(
color: themeColor,
fontSize: 14,
fontWeight: FontWeight.bold)),
)

View File

@@ -96,7 +96,7 @@ class GalleryFactory {
info: "本样例介绍如何绘制弹簧,通过触点竖直拖拽拉伸、压缩,放手时进行恢复动画,是一个很好的综合小案例。\n特殊操作:上下拖拽伸缩弹簧",
content: SpringWidget()),
FrameShower(
title: "点旋转",
title: "点旋转",
author: "张风捷特烈",
srcUrl: '/anim/rotate_by_point',
info: "本样例介绍如何根据以某个点为中心,进行旋转运动。以此学习两点间的角度在绘制中的应用。\n特殊操作:点击运行",

View File

@@ -3,7 +3,6 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_unit/app/blocs/color_change_bloc.dart';
import 'package:flutter_unit/app/res/str_unit.dart';
import 'package:flutter_unit/components/permanent/feedback_widget.dart';
import 'package:flutter_unit/components/project/default/loading_shower.dart';
import 'package:flutter_unit/components/project/items/gallery/gallery_card_item.dart';

View File

@@ -1,8 +1,7 @@
/// create by 张风捷特烈 on 2020-03-31
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-31
/// contact me by email 1981462002@qq.com
/// 说明:
// {
// "widgetId": 196,
@@ -16,6 +15,7 @@ import 'package:flutter/material.dart';
// "【background】 : 背景组件 【Widget】\n"
// "【centerTitle】 : 是否居中 【bool】",
// }
class FlexibleSpaceBarDemo extends StatelessWidget {
FlexibleSpaceBarDemo({Key? key}) : super(key: key);

View File

@@ -20,7 +20,6 @@ class LoadImage extends StatelessWidget {
const LoadImage({Key? key}) : super(key: key);
final String assetsImagePath = "assets/images/icon_head.webp";
final String assetsGif = "assets/images/pica.gif";
final String netImageUrl = "https://p9-juejin.byteimg.com"
"/tos-cn-i-k3u1fbpfcp/36dee4e4dceb4c41a93df4a3603439fe~"
"tplv-k3u1fbpfcp-zoom-crop-mark:1304:1304:1304:734.awebp";
@@ -30,19 +29,11 @@ class LoadImage extends StatelessWidget {
return Wrap(
spacing: 10,
children: [
_loadFromAssets(),
Image.asset(assetsImagePath, height: 80, width: 80),
_loadFromNet(),
],
);
}
Widget _loadFromAssets() => Wrap(
spacing: 10,
children: [
Image.asset(assetsImagePath, height: 80, width: 80),
Image.asset(assetsGif, height: 80, width: 80),
],
);
Widget _loadFromNet() => Image.network(netImageUrl, height: 80);
}

View File

@@ -14,8 +14,7 @@ import 'package:flutter/rendering.dart';
// "【axisDirection】: 滑动方向 【AxisDirection】\n"
// "【controller】: 滑动控制器 【ScrollController】\n"
// "【dragStartBehavior】: t拖动行为 【DragStartBehavior】\n"
// "【physics】: 滚动现象 【ScrollPhysics】\n"
// "【color】: 子组件 【Color】",
// "【physics】: 滚动现象 【ScrollPhysics】\n",
// }
class ScrollableDemo extends StatelessWidget {

View File

@@ -10,7 +10,7 @@ import 'package:flutter/material.dart';
// "priority": 2,
// "subtitle":
// "【inactiveThumbImage】 : 未选中小圈图片 【ImageProvider】\n"
// "【activeThumbImage】 : 选中时滑槽颜色 【ImageProvider】",
// "【activeThumbImage】 : 选中小圈图片 【ImageProvider】",
// }
class ImageSwitch extends StatefulWidget {
const ImageSwitch({Key? key}) : super(key: key);
@@ -37,7 +37,7 @@ class _ImageSwitchState extends State<ImageSwitch> {
Switch(
value: _checked,
inactiveThumbImage: AssetImage(e),
activeThumbImage: const AssetImage('assets/images/pica.gif'),
activeThumbImage: const AssetImage('assets/images/icon_head.webp'),
onChanged: (v) {
setState(() => _checked = v);
}))

View File

@@ -1,9 +1,19 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020/4/25
/// contact me by email 1981462002@qq.com
/// 说明:
///
import 'package:flutter/material.dart';
// {
// "widgetId": 130,
// "name": 'AboutDialog基本使用',
// "priority": 1,
// "subtitle":
// "【applicationIcon】 : 左上图标 【Widget】\n"
// "【applicationVersion】 : 版本号 【String】\n"
// "【applicationName】 : 应用名 【String】\n"
// "【applicationLegalese】 : 应用律术 【String】\n"
// "【children】 : 子组件列表 【List<Widget>】",
// }
class CustomAboutDialog extends StatelessWidget {
const CustomAboutDialog({Key? key}) : super(key: key);

View File

@@ -16,9 +16,9 @@
// "【titlePadding】 : 顶部内边距 【EdgeInsetsGeometry】\n"
// "【contentPadding】 : 内容内边距 【EdgeInsetsGeometry】\n"
// "【actions】 : 右下角组件列表 【List<Widget>】\n"
// "【backgroundColor】 : 右下角组件列表 【背景色】\n"
// "【elevation】 : 右下角组件列表 【背景色】\n"
// "【shape】 : 影深double】",
// "【backgroundColor】 : 背景色 【Color】\n"
// "【elevation】 : 影深 【double】\n"
// "【shape】 : 形状ShapeBorder】",
// }
import 'package:flutter/material.dart';

View File

@@ -1,8 +1,18 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020/4/25
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/material.dart';
// {
// "widgetId": 125,
// "name": 'AnimatedIcon基本使用',
// "priority": 1,
// "subtitle":
// "【icon】 : 动画图标数据 【AnimatedIcons】\n"
// "【size】 : 大小 【double】\n"
// "【color】 : 颜色 【Color】\n"
// "【progress】 : 动画 【Animation<double>】",
// }
class CustomAnimatedIcon extends StatefulWidget {
const CustomAnimatedIcon({Key? key}) : super(key: key);

View File

@@ -1,8 +1,16 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020/4/25
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/material.dart';
// {
// "widgetId": 31,
// "priority": 1,
// "name": "BackButton属性",
// "subtitle": "【color】: 颜色 【Color】\n"
// "【onPressed】: 点击事件 【Function】\n"
// " onPressed为空会退出当前栈",
// }
class CustomBackButton extends StatelessWidget {
CustomBackButton({Key? key}) : super(key: key);

View File

@@ -1,7 +1,18 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020/4/30
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/material.dart';
// {
// "widgetId": 5,
// "priority": 1,
// "name": "用于显示一个角标",
// "subtitle": "【message】 : 显示的文字信息 【String】\n"
// "【location】 : 位置*4 【BannerLocation】\n"
// "【color】: 角标颜色 【Color】\n"
// "【child】: 孩子 【Widget】\n"
// "【textStyle】: 文字样式 【TextStyle】",
// }
class CustomBanner extends StatelessWidget {
CustomBanner({Key? key}) : super(key: key);

View File

@@ -1,8 +1,18 @@
/// create by 张风捷特烈 on 2020-03-25
/// contact me by email 1981462002@qq.com
/// 说明:
// {
// "widgetId": 142,
// "name": 'BottomSheet基本使用',
// "priority": 1,
// "subtitle":
// "【builder】 : 组件构造器 【WidgetBuilder】\n"
// "【backgroundColor】 : 背景色 【Color】\n"
// "【elevation】 : 影深 【double】\n"
// "【shape】 : 形状 【ShapeBorder】\n"
// "【onClosing】 : 关闭回调 【Function()】",
// }
import 'package:flutter/material.dart';
class CustomBottomSheet extends StatefulWidget {

View File

@@ -1,6 +1,14 @@
/// create by 张风捷特烈 on 2020/4/25
/// contact me by email 1981462002@qq.com
/// 说明:
// {
// "widgetId": 1,
// "name": 'Container的约束性',
// "priority": 6,
// "subtitle":
// "【constraints】 : 约束 【BoxConstraints】\n "
// "会约束该区域的尺寸,不会小于指定的最小宽高,也不会大于指定的最大宽高。",
// }
import 'package:flutter/material.dart';
class ContainerConstraints extends StatelessWidget {

View File

@@ -1,11 +1,15 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-29
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// {
// "widgetId": 169,
// "name": '文字样式-TextTheme',
// "priority": 1,
// "subtitle": "后代组件可以通过CupertinoTheme.of获取主题的数据进行使用。",
// }
class TextCupertinoTheme extends StatelessWidget {
const TextCupertinoTheme({Key? key}) : super(key: key);

View File

@@ -1,10 +1,16 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-29
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// {
// "widgetId": 169,
// "name": 'CupertinoThemeData的使用',
// "priority": 2,
// "subtitle":
// "和Theme一样可以通过指定的属性让它们在后代中共享不过属性较少。注意如果需要使用主题不能在当前的context中获取。",
// }
class CustomCupertinoTheme extends StatelessWidget {
const CustomCupertinoTheme({Key? key}) : super(key: key);

View File

@@ -1,9 +1,16 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-21
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/material.dart';
// {
// "widgetId": 102,
// "name": 'DataTable基本使用',
// "priority": 1,
// "subtitle":
// "【columns】 : 列 【List<DataColumn>】\n"
// "【rows】 : 行 【List<DataRow>】",
// }
class _Bean {
final int id;

View File

@@ -1,3 +1,4 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-24
/// contact me by email 1981462002@qq.com
@@ -11,8 +12,6 @@
// "【thickness】: 线粗细 【double】",
// }
import 'package:flutter/material.dart';
class CustomDivider extends StatelessWidget {
const CustomDivider({Key? key}) : super(key: key);

View File

@@ -1,9 +1,16 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-24
/// contact me by email 1981462002@qq.com
/// 说明:
///
import 'package:flutter/material.dart';
// {
// "widgetId": 34,
// "priority": 2,
// "name": "Divider高度和空缺",
// "subtitle": "【indent】: 前面空缺长度 【double】\n"
// "【endIndent】: 后面空缺长度 【double】\n"
// "【height】: 占位高 【double】",
// }
class HeightDivider extends StatelessWidget {

View File

@@ -2,6 +2,14 @@
/// create by 张风捷特烈 on 2020-03-26
/// contact me by email 1981462002@qq.com
/// 说明:
// {
// "widgetId": 154,
// "name": 'Drawer基本使用',
// "priority": 1,
// "subtitle":
// "【child】 : 子组件 【Widget】\n"
// "【elevation】 : 影深 【double】",
// }
import 'package:flutter/material.dart';
class CustomDrawer extends StatelessWidget {

View File

@@ -1,6 +1,15 @@
/// create by 张风捷特烈 on 2020-03-26
/// contact me by email 1981462002@qq.com
/// 说明:
// {
// "widgetId": 15,
// "priority": 1,
// "name": "FilterChip可接受选择事件",
// "subtitle": "【selected】: 是否选择 【bool】\n"
// "【onSelected】: 选择事件 【Function(bool)】\n"
// "【selectedColor】: 选择后的颜色 【Color】\n"
// "【selectedShadowColor】: 选择后的阴影颜色 【Color】\n",
// }
import 'package:flutter/material.dart';
class CustomFilterChip extends StatefulWidget {

View File

@@ -1,8 +1,15 @@
import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020-03-26
/// contact me by email 1981462002@qq.com
/// 说明:
import 'package:flutter/material.dart';
// {
// "widgetId": 4,
// "priority": 2,
// "name": "样式用于显示文字",
// "subtitle": "【style】 : 样式-3种枚举 【FlutterLogoStyle】\n"
// "【textColor】: 文字颜色 【Color】",
// }
class FlutterLogoWithText extends StatelessWidget {
const FlutterLogoWithText({Key? key}) : super(key: key);

View File

@@ -7,7 +7,7 @@ import 'package:flutter/material.dart';
// {
// "widgetId": 37,
// "priority": 1,
// "name": "GridPage基础属性",
// "name": "GridPager 基础属性",
// "subtitle": "【child】: 子组件 【Widget】\n"
// "【color】: 颜色 【Color】\n"
// "【interval】: 小块边长 【double】",

View File

@@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
// {
// "widgetId": 37,
// "priority": 2,
// "name": "GridPage再分割",
// "name": "GridPager 再分割",
// "subtitle": "【child】: 子组件 【Widget】\n"
// "【color】: 颜色 【Color】\n"
// "【subdivisions】: 小块中子块个数 【int】\n"

View File

@@ -8,8 +8,7 @@ import 'package:flutter/material.dart';
// "widgetId": 20,
// "priority": 1,
// "name": "GridTileBar的基本表现如下",
// "subtitle": "【value】 : 条目对象 【T】\n"
// "【leading】: 左侧组件 【Widget】\n"
// "subtitle": "【leading】: 左侧组件 【Widget】\n"
// "【trailing】: 尾组件 【Widget】\n"
// "【title】: 中间上组件 【Widget】\n"
// "【subtitle】: 中间下组件 【Widget】\n"

View File

@@ -6,8 +6,7 @@ import 'package:flutter/material.dart';
// "widgetId": 30,
// "priority": 1,
// "name": "IconButton属性",
// "subtitle": "【child】: 组件 【Widget】\n"
// "【icon】: 内边距 【Widget】\n"
// "subtitle": "【icon】: 图标组件 【Widget】\n"
// "【tooltip】: 长按提示文字 【String】\n"
// "【highlightColor】: 长按高亮色 【Color】\n"
// "【splashColor】: 水波纹色 【Color】\n"

View File

@@ -13,9 +13,9 @@ import 'package:flutter/material.dart';
// "【children】 : 子组件列表 【List<Widget>】\n"
// "【titlePadding】 : 顶部内边距 【EdgeInsetsGeometry】\n"
// "【contentPadding】 : 内容内边距 【EdgeInsetsGeometry】\n"
// "【backgroundColor】 : 右下角组件列表 【背景色】\n"
// "【elevation】 : 右下角组件列表 【背景色】\n"
// "【shape】 : 影深double】",
// "【backgroundColor】 : 背景色 【Color】\n"
// "【elevation】 : 影深 【double】\n"
// "【shape】 : 形状ShapeBorder】",
// }
class CustomSimpleDialog extends StatelessWidget {
const CustomSimpleDialog({Key? key}) : super(key: key);

View File

@@ -32,7 +32,7 @@ class _SelectSwitchListTileState extends State<SelectSwitchListTile> {
selected: _value,
activeColor: Colors.orangeAccent,
secondary: Image.asset("assets/images/icon_head.webp"),
inactiveThumbImage: const AssetImage("assets/images/pica.gif"),
inactiveThumbImage: const AssetImage("assets/images/head_icon/icon_5.webp"),
activeThumbImage: const AssetImage("assets/images/icon_head.webp"),
title: const Text("张风捷特烈"),
subtitle: const Text("@万花过尽知无物"),

View File

@@ -12,10 +12,10 @@ import 'package:flutter/material.dart';
// "name": "VerticalDivider宽度和空缺",
// "subtitle": "【indent】: 前面空缺长度 【double】\n"
// "【endIndent】: 后面空缺长度 【double】\n"
// "【height】: 占位 【double】",
// "【width】: 占位 【double】",
// }
class HeightVerticalDivider extends StatelessWidget {
const HeightVerticalDivider({Key? key}) : super(key: key);
class WidthVerticalDivider extends StatelessWidget {
const WidthVerticalDivider({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {

View File

@@ -147,8 +147,8 @@ export '../StatelessWidget/GirdView/node2_direction.dart';
export '../StatelessWidget/GirdView/node3_extend.dart';
export '../StatelessWidget/GirdView/node4_builder.dart';
export '../StatelessWidget/GridPaper/node1_base.dart';
export '../StatelessWidget/GridPaper/node2_divisions.dart';
export '../StatelessWidget/GridPager/node1_base.dart';
export '../StatelessWidget/GridPager/node2_divisions.dart';
export '../StatelessWidget/Spacer/node1_base.dart';
export '../StatelessWidget/Spacer/node2_flex.dart';

View File

@@ -515,7 +515,7 @@ class WidgetsMap {
case "VerticalDivider":
return [
const CustomVerticalDivider(),
const HeightVerticalDivider(),
const WidthVerticalDivider(),
];
case "Placeholder":
return [

View File

@@ -20,7 +20,6 @@ dependencies:
sqflite: ^2.0.2 # 数据库
shared_preferences: ^2.0.13 # xml 固化
jwt_decoder: ^2.0.1 # jwt 解析
toggle_rotate: ^1.0.1
flutter_star: ^1.0.2 # 星星组件