Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
e5ae754
Update main.dart
toly1994328 Apr 20, 2020
e9b09cd
删除无用代码
toly1994328 Apr 20, 2020
6e63ec3
冲突
toly1994328 Apr 20, 2020
98bb07c
使用无边线NoBorderExpansionTile
toly1994328 Apr 20, 2020
068d99c
优化收藏集显示
toly1994328 Apr 20, 2020
10369c1
图标
toly1994328 Apr 20, 2020
a853c7d
🎉完成收藏夹创建和删除
toly1994328 Apr 21, 2020
b139de5
:tada: Initial commit.
toly1994328 Apr 21, 2020
97308f2
:pencil: Initial commit.
toly1994328 Apr 21, 2020
b41b128
:pencil: 添加注释说明
toly1994328 Apr 21, 2020
810f9af
🏷️ MIT 协议
toly1994328 Apr 21, 2020
7f7a566
:sparkles: 收藏夹完成
toly1994328 Apr 23, 2020
84f2458
:sparkles: 收藏夹修改完成
toly1994328 Apr 23, 2020
23d02c5
:pencil: 修改文档
toly1994328 Apr 24, 2020
8c070f0
:art: 优化展示组件代码的存在形式
toly1994328 Apr 25, 2020
b178162
:art: 优化展示组件代码的存在形式
toly1994328 Apr 26, 2020
ef21901
:art: 优化展示组件代码的存在形式,stateless重构完毕
toly1994328 Apr 27, 2020
36a65f4
:art: 优化结构,调整包位置
toly1994328 Apr 27, 2020
da87301
:ambulance: ios白屏问题fix
toly1994328 Apr 28, 2020
b4d1f78
:pencil: 添加运行环境
toly1994328 Apr 28, 2020
548199c
:sparkles: item样式切换支持优化
toly1994328 Apr 28, 2020
fc84531
:ambulance: hero组件异常
toly1994328 Apr 29, 2020
60eb0f0
:art: stateful组件重构完毕
toly1994328 Apr 29, 2020
b58de9d
:art: 当前组件结构重构完毕
toly1994328 Apr 30, 2020
c0ff2b5
:zap: 优化详情
toly1994328 May 3, 2020
6446160
:pencil: 临时提交
toly1994328 May 3, 2020
9a7b642
:pencil: 临时提交
toly1994328 May 3, 2020
69cff81
:pencil: 修改文档
toly1994328 May 4, 2020
88c2a06
:pencil: 修改文档
toly1994328 May 6, 2020
43ad645
:pencil: 修改文档
toly1994328 May 6, 2020
7d065f1
:zap: 使用Flutter1.17
toly1994328 May 7, 2020
6bbbfd6
:pencil: 修改文档
toly1994328 May 7, 2020
fcf85cc
:pencil: 修改文档
toly1994328 May 9, 2020
2cc2e1d
:bug: 修复详情页右侧滑和linkto的冲突。优化代码结构
toly1994328 May 10, 2020
7db01d8
:pencil: 修改文档
toly1994328 May 10, 2020
d93a82c
:pencil: 修改文档
toly1994328 May 10, 2020
8a9f97c
:pencil: 修改文档
toly1994328 May 10, 2020
cc71231
Update README.md
toly1994328 May 14, 2020
7e02d23
:ambulance: 侧栏菜单跳转异常
toly1994328 May 27, 2020
88c7855
:sparkles: 添加CustomSingleChildLayout组件
toly1994328 Jun 3, 2020
b55f618
:sparkles: 添加CustomMultiChildLayout、LayoutId组件
toly1994328 Jun 6, 2020
6bb6bbc
:pencil: 文档更新
toly1994328 Jun 11, 2020
46addef
:art: 优化代码
toly1994328 Jun 15, 2020
3cc2418
:sparkles: 添加NestedScrollView、SliverOverlapAbsorber、SliverOverlapInje…
toly1994328 Jun 16, 2020
5fe4ca9
:pencil: 文档更新
toly1994328 Jun 16, 2020
ee14c6e
:sparkles: 添加应用版本检查页
toly1994328 Jun 16, 2020
375a903
:pencil: 更新文档
toly1994328 Jun 16, 2020
3ee66b1
:pencil: 更新文档
toly1994328 Jun 16, 2020
eed1773
:pencil: 要点集录初测
toly1994328 Jun 19, 2020
f9d679d
:sparkles: 开启性能浮层、CupertinoSegmentedControl组件
toly1994328 Jun 30, 2020
1bc7014
:sparkles: 开启性能浮层、CupertinoSegmentedControl组件
toly1994328 Jun 30, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
🚑 ios白屏问题fix
  • Loading branch information
toly1994328 committed Apr 28, 2020
commit da873017adb0a84ec7c6be0167e22075e5b38dd2
2 changes: 1 addition & 1 deletion ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,6 @@ SPEC CHECKSUMS:
url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c

PODFILE CHECKSUM: 1b66dae606f75376c5f2135a8290850eeb09ae83
PODFILE CHECKSUM: 382d23bfbd130be6de706b064322c21ce8e6a930

COCOAPODS: 1.8.4
6 changes: 6 additions & 0 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
05552E71DDEE1B210A67DBD4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70F3B239A93318DF93C8360D /* Pods_Runner.framework */; };
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
63E91F0C2457E565002C2BE9 /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E91F0B2457E565002C2BE9 /* App.framework */; };
63E91F0D2457E565002C2BE9 /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63E91F0B2457E565002C2BE9 /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
Expand All @@ -25,6 +27,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
63E91F0D2457E565002C2BE9 /* App.framework in Embed Frameworks */,
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
Expand All @@ -37,6 +40,7 @@
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
33DC5F3DBC90F47343297D28 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
63E91F0B2457E565002C2BE9 /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
70F3B239A93318DF93C8360D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
Expand All @@ -59,6 +63,7 @@
buildActionMask = 2147483647;
files = (
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
63E91F0C2457E565002C2BE9 /* App.framework in Frameworks */,
05552E71DDEE1B210A67DBD4 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand All @@ -69,6 +74,7 @@
02D8EC7DCA94EAA4A49FE3C6 /* Frameworks */ = {
isa = PBXGroup;
children = (
63E91F0B2457E565002C2BE9 /* App.framework */,
70F3B239A93318DF93C8360D /* Pods_Runner.framework */,
);
name = Frameworks;
Expand Down
6 changes: 2 additions & 4 deletions lib/storage/app_storage.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,16 @@ class AppStorage {
var dbPath = path.join(databasesPath, "flutter.db");
var exists = await databaseExists(dbPath);
if (!exists) {
print("Creating new copy from asset");
try {
await Directory(path.dirname(dbPath)).create(recursive: true);
print("========= assets ======拷贝完成====");
} catch (_) {}

ByteData data = await rootBundle.load(path.join("assets", "flutter.db"));
List<int> bytes =
data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
await File(dbPath).writeAsBytes(bytes, flush: true);

} else {
print("Opening existing database");
print("========= 数据库 ======已存在====");
}
return await openDatabase(dbPath, readOnly: false);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,63 +68,4 @@ class _CustomAnimatedCrossFadeState extends State<CustomAnimatedCrossFade> {
v ? CrossFadeState.showFirst : CrossFadeState.showSecond;
});
});
}
// {
// "widgetId": 100,
// "name": 'AnimatedCrossFade基本使用',
// "priority": 2,
// "subtitle":
// "【firstCurve】 : 第一曲线 【Curve】\n"
// "【secondCurve】 : 第二曲线 【Curve】\n"
// "【sizeCurve】 : 尺寸变化曲线 【CrossFadeState】",
// }
class CurveAnimatedCrossFade extends StatefulWidget {
@override
_CurveAnimatedCrossFadeState createState() => _CurveAnimatedCrossFadeState();
}

class _CurveAnimatedCrossFadeState extends State<CurveAnimatedCrossFade> {
var _crossFadeState = CrossFadeState.showFirst;

bool get isFirst=> _crossFadeState == CrossFadeState.showFirst;

@override
Widget build(BuildContext context) {
return Wrap(
children: <Widget>[
Container(
child: AnimatedCrossFade(
firstCurve: Curves.easeInCirc,
secondCurve: Curves.easeInToLinear,
sizeCurve: Curves.bounceOut,
firstChild: Container(
alignment: Alignment.center,
width: 200,
height: 80,
color: Colors.orange ,
child: FlutterLogo(colors: Colors.blue,size: 50,),
),
secondChild: Container(
width: 200,
height: 150,
alignment: Alignment.center,
color: Colors.blue,
child: FlutterLogo(
textColor: Colors.white,
colors: Colors.orange,size: 100,style: FlutterLogoStyle.stacked,),
),
duration: Duration(milliseconds: 1000),
crossFadeState: _crossFadeState,
),
),
_buildSwitch(),
],
);
}

Widget _buildSwitch() => Switch(value: isFirst, onChanged: (v){
setState(() {
_crossFadeState= v?CrossFadeState.showFirst:CrossFadeState.showSecond;
});
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import 'package:flutter/material.dart';

/// create by 张风捷特烈 on 2020-03-20
/// contact me by email [email protected]
/// 说明:

// {
// "widgetId": 100,
// "name": 'AnimatedCrossFade动画曲线',
// "priority": 2,
// "subtitle":
// "【firstCurve】 : 第一曲线 【Curve】\n"
// "【secondCurve】 : 第二曲线 【Curve】\n"
// "【sizeCurve】 : 尺寸变化曲线 【CrossFadeState】",
// }
class CurveAnimatedCrossFade extends StatefulWidget {
@override
_CurveAnimatedCrossFadeState createState() => _CurveAnimatedCrossFadeState();
}

class _CurveAnimatedCrossFadeState extends State<CurveAnimatedCrossFade> {
var _crossFadeState = CrossFadeState.showFirst;

bool get isFirst=> _crossFadeState == CrossFadeState.showFirst;

@override
Widget build(BuildContext context) {
return Wrap(
children: <Widget>[
Container(
child: AnimatedCrossFade(
firstCurve: Curves.easeInCirc,
secondCurve: Curves.easeInToLinear,
sizeCurve: Curves.bounceOut,
firstChild: Container(
alignment: Alignment.center,
width: 200,
height: 80,
color: Colors.orange ,
child: FlutterLogo(colors: Colors.blue,size: 50,),
),
secondChild: Container(
width: 200,
height: 150,
alignment: Alignment.center,
color: Colors.blue,
child: FlutterLogo(
textColor: Colors.white,
colors: Colors.orange,size: 100,style: FlutterLogoStyle.stacked,),
),
duration: Duration(milliseconds: 1000),
crossFadeState: _crossFadeState,
),
),
_buildSwitch(),
],
);
}

Widget _buildSwitch() => Switch(value: isFirst, onChanged: (v){
setState(() {
_crossFadeState= v?CrossFadeState.showFirst:CrossFadeState.showSecond;
});
});
}
49 changes: 49 additions & 0 deletions lib/views/widgets/StatefulWidget/AppBar/node1_base.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import 'package:flutter/material.dart';

import '../PopupMenuButton.dart';

/// create by 张风捷特烈 on 2020-03-23
/// contact me by email [email protected]
/// 说明:
// {
// "widgetId": 57,
// "name": 'AppBar基本使用',
// "priority": 1,
// "subtitle":
// "【leading】 : 左侧组件 【Widget】\n"
// "【title】 : 中间组件 【Widget】\n"
// "【actions】 : 右侧组件 【List<Widget>】\n"
// "【elevation】 : 影深 【double】\n"
// "【shape】 : 形状 【ShapeBorder】\n"
// "【backgroundColor】 : 影深 【背景色】\n"
// "【centerTitle】 : 中间是否居中 【bool】",
// }

class CustomAppBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppBar(
title: Text('风雅六社'),
leading: BackButton(),
backgroundColor: Colors.amber[500],
elevation: 2,
centerTitle: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
bottomRight: Radius.circular(20),
topRight: Radius.circular(5),
bottomLeft: Radius.circular(5),
)),
actions: <Widget>[
IconButton(
icon: Icon(Icons.star),
tooltip: 'like',
onPressed: () {
// do nothing
}),
CustomPopupMenuButton()
],
);
}
}
Original file line number Diff line number Diff line change
@@ -1,49 +1,8 @@
import 'package:flutter/material.dart';
import 'PopupMenuButton.dart';

// {
// "widgetId": 57,
// "name": 'AppBar基本使用',
// "priority": 1,
// "subtitle":
// "【leading】 : 左侧组件 【Widget】\n"
// "【title】 : 中间组件 【Widget】\n"
// "【actions】 : 右侧组件 【List<Widget>】\n"
// "【elevation】 : 影深 【double】\n"
// "【shape】 : 形状 【ShapeBorder】\n"
// "【backgroundColor】 : 影深 【背景色】\n"
// "【centerTitle】 : 中间是否居中 【bool】",
// }

class CustomAppBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppBar(
title: Text('风雅六社'),
leading: BackButton(),
backgroundColor: Colors.amber[500],
elevation: 2,
centerTitle: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
bottomRight: Radius.circular(20),
topRight: Radius.circular(5),
bottomLeft: Radius.circular(5),
)),
actions: <Widget>[
IconButton(
icon: Icon(Icons.star),
tooltip: 'like',
onPressed: () {
// do nothing
}),
CustomPopupMenuButton()
],
);
}
}

import '../PopupMenuButton.dart';
/// create by 张风捷特烈 on 2020-03-23
/// contact me by email [email protected]
/// 详情:
// {
// "widgetId": 57,
// "name": 'AppBar与TabBar、TabBarView联用',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_unit/app/utils/pather.dart';
import 'package:flutter_unit/views/dialogs/dialog_about.dart';

/// create by 张风捷特烈 on 2020-03-23
/// contact me by email [email protected]
/// 详情:
// {
// "widgetId": 61,
// "name": 'BottomAppBar基本用法',
Expand Down
Loading