reason

众妙item 样式

No preview for this file type
No preview for this file type
...@@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; ...@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
2 import 'package:one_poem/category/provider/categories_page_provider.dart'; 2 import 'package:one_poem/category/provider/categories_page_provider.dart';
3 import 'package:one_poem/util/theme_utils.dart'; 3 import 'package:one_poem/util/theme_utils.dart';
4 import 'package:one_poem/widgets/load_image.dart'; 4 import 'package:one_poem/widgets/load_image.dart';
5 +import 'package:one_poem/widgets/my_app_bar.dart';
5 import 'package:provider/provider.dart'; 6 import 'package:provider/provider.dart';
6 7
7 import 'category_list_page.dart'; 8 import 'category_list_page.dart';
...@@ -42,6 +43,8 @@ class _CategoriesPageState extends State<CategoriesPage> ...@@ -42,6 +43,8 @@ class _CategoriesPageState extends State<CategoriesPage>
42 return ChangeNotifierProvider<CategoriesPageProvider>( 43 return ChangeNotifierProvider<CategoriesPageProvider>(
43 create: (_) => provider, 44 create: (_) => provider,
44 child: Scaffold( 45 child: Scaffold(
46 + appBar: const MyAppBar(
47 + ),
45 body: Column( 48 body: Column(
46 key: _bodyKey, 49 key: _bodyKey,
47 crossAxisAlignment: CrossAxisAlignment.start, 50 crossAxisAlignment: CrossAxisAlignment.start,
......
1 import 'package:common_utils/common_utils.dart'; 1 import 'package:common_utils/common_utils.dart';
2 +import 'package:flutter/cupertino.dart';
2 import 'package:flutter/material.dart'; 3 import 'package:flutter/material.dart';
3 import 'package:one_poem/category/models/category_item_entity.dart'; 4 import 'package:one_poem/category/models/category_item_entity.dart';
5 +import 'package:one_poem/res/gaps.dart';
4 import 'package:one_poem/res/resources.dart'; 6 import 'package:one_poem/res/resources.dart';
5 import 'package:one_poem/util/device_utils.dart'; 7 import 'package:one_poem/util/device_utils.dart';
6 import 'package:one_poem/util/other_utils.dart'; 8 import 'package:one_poem/util/other_utils.dart';
7 -import 'package:one_poem/util/theme_utils.dart';
8 import 'package:one_poem/widgets/load_image.dart'; 9 import 'package:one_poem/widgets/load_image.dart';
9 -import 'package:one_poem/widgets/my_button.dart';
10 10
11 -import 'menu_reveal.dart';
12 -
13 -/// design/4商品/index.html#artboard1
14 class CategoryItem extends StatelessWidget { 11 class CategoryItem extends StatelessWidget {
15 -
16 const CategoryItem({ 12 const CategoryItem({
17 Key? key, 13 Key? key,
18 required this.item, 14 required this.item,
...@@ -25,7 +21,7 @@ class CategoryItem extends StatelessWidget { ...@@ -25,7 +21,7 @@ class CategoryItem extends StatelessWidget {
25 required this.onTapMenuClose, 21 required this.onTapMenuClose,
26 required this.animation, 22 required this.animation,
27 required this.heroTag, 23 required this.heroTag,
28 - }): super(key: key); 24 + }) : super(key: key);
29 25
30 final CategoryItemEntity item; 26 final CategoryItemEntity item;
31 final int index; 27 final int index;
...@@ -37,189 +33,60 @@ class CategoryItem extends StatelessWidget { ...@@ -37,189 +33,60 @@ class CategoryItem extends StatelessWidget {
37 final VoidCallback onTapMenuClose; 33 final VoidCallback onTapMenuClose;
38 final Animation<double> animation; 34 final Animation<double> animation;
39 final String heroTag; 35 final String heroTag;
40 - 36 +
41 @override 37 @override
42 Widget build(BuildContext context) { 38 Widget build(BuildContext context) {
43 - final Row child = Row( 39 + return Padding(
44 - crossAxisAlignment: CrossAxisAlignment.start, 40 + padding: const EdgeInsets.only(left: 10.0, top: 10.0, right: 10.0),
45 - children: <Widget>[ 41 + child: DecoratedBox(
46 - ExcludeSemantics( 42 + decoration: BoxDecoration(
47 - child: Hero( 43 + image: const DecorationImage(
48 - tag: heroTag, 44 + image: AssetImage("assets/images/category/category_item_bg.png"),
49 - child: LoadImage(item.icon, width: 72.0, height: 72.0), 45 + fit: BoxFit.fill,
50 ), 46 ),
47 + border: Border.all(color: Colors.grey, width: 0.5), // 边色与边宽度
48 + borderRadius: BorderRadius.circular(2.0),
51 ), 49 ),
52 - Gaps.hGap8, 50 + child: Padding(
53 - Expanded( 51 + padding: const EdgeInsets.all(10.0),
54 child: Column( 52 child: Column(
55 - crossAxisAlignment: CrossAxisAlignment.start, 53 + crossAxisAlignment: CrossAxisAlignment.center,
56 children: <Widget>[ 54 children: <Widget>[
57 - Text(
58 - item.type % 3 != 0 ? '八月十五中秋月饼礼盒' : '八月十五中秋月饼礼盒八月十五中秋月饼礼盒',
59 - maxLines: 1,
60 - overflow: TextOverflow.ellipsis,
61 - ),
62 - Gaps.vGap4,
63 Row( 55 Row(
64 - children: <Widget>[ 56 + mainAxisAlignment: MainAxisAlignment.spaceBetween,
65 - Visibility( 57 + mainAxisSize: MainAxisSize.max,
66 - // 默认为占位替换,类似于gone 58 + //交叉轴的布局方式,对于column来说就是水平方向的布局方式
67 - visible: item.type % 3 == 0, 59 + crossAxisAlignment: CrossAxisAlignment.center,
68 - child: _GoodsItemTag( 60 + children: const <Widget>[
69 - text: '立减', 61 + Text("此地"),
70 - color: Theme.of(context).errorColor, 62 + Text("北京 海淀 万泉庄", maxLines: 3,),
71 - ), 63 + Text("京", style: TextStyle(fontSize: 30)),
72 - ),
73 - Opacity(
74 - // 修改透明度实现隐藏,类似于invisible
75 - opacity: item.type % 2 != 0 ? 0.0 : 1.0,
76 - child: _GoodsItemTag(
77 - text: '金币抵扣',
78 - color: Theme.of(context).primaryColor,
79 - ),
80 - )
81 ], 64 ],
82 ), 65 ),
83 Gaps.vGap16, 66 Gaps.vGap16,
84 - Text(Utils.formatPrice('20.00', format: MoneyFormat.NORMAL)) 67 + const Text(
85 - ], 68 + "前不见古人,后不见来者。\n念天地之悠悠,独怆然而涕下。\n",
86 - ), 69 + style: TextStyle(fontSize: 22.0, fontFamily: "ZCOOLXiaoWei"),
87 - ),
88 - Column(
89 - crossAxisAlignment: CrossAxisAlignment.end,
90 - children: <Widget>[
91 - Semantics(
92 - /// container属性为true,防止上方ExcludeSemantics去除此处语义
93 - container: true,
94 - label: '商品操作菜单',
95 - child: GestureDetector(
96 - onTap: onTapMenu,
97 - child: Container(
98 - key: Key('goods_menu_item_$index'),
99 - width: 44.0,
100 - height: 44.0,
101 - color: Colors.transparent,
102 - padding: const EdgeInsets.only(left: 28.0, bottom: 28.0),
103 - child: const LoadAssetImage('goods/ellipsis'),
104 - ),
105 - ),
106 - ),
107 - Padding(
108 - padding: const EdgeInsets.only(top: 10.0),
109 - child: Text(
110 - '特产美味',
111 - style: Theme.of(context).textTheme.subtitle2,
112 ), 70 ),
113 - ) 71 + const Text("[唐] 陈子昂《登幽州台歌》", maxLines: 1,),
114 - ], 72 + ],
115 - )
116 - ],
117 - );
118 -
119 - return Stack(
120 - children: <Widget>[
121 - // item间的分隔线
122 - Padding(
123 - padding: const EdgeInsets.only(left: 16.0, top: 16.0),
124 - child: DecoratedBox(
125 - decoration: BoxDecoration(
126 - border: Border(
127 - bottom: Divider.createBorderSide(context, width: 0.8),
128 - ),
129 - ),
130 - child: Padding(
131 - padding: const EdgeInsets.only(right: 16.0, bottom: 16.0),
132 - child: child,
133 - ),
134 ), 73 ),
135 ), 74 ),
136 - if (selectIndex != index) Gaps.empty else _buildGoodsMenu(context),
137 - ],
138 - );
139 - }
140 -
141 - Widget _buildGoodsMenu(BuildContext context) {
142 - return Positioned.fill(
143 - child: AnimatedBuilder(
144 - animation: animation,
145 - child: _buildGoodsMenuContent(context),
146 - builder: (_, Widget? child) {
147 - return MenuReveal(
148 - revealPercent: animation.value,
149 - child: child!
150 - );
151 - }
152 - ),
153 - );
154 - }
155 -
156 - Widget _buildGoodsMenuContent(BuildContext context) {
157 - final bool isDark = context.isDark;
158 - final Color buttonColor = isDark ? Colours.dark_text : Colors.white;
159 -
160 - return InkWell(
161 - onTap: onTapMenuClose,
162 - child: Container(
163 - color: isDark ? const Color(0xB34D4D4D) : const Color(0x4D000000),
164 - child: Row(
165 - mainAxisAlignment: MainAxisAlignment.spaceEvenly,
166 - children: <Widget>[
167 - Gaps.hGap15,
168 - MyButton(
169 - key: Key('goods_edit_item_$index'),
170 - text: '编辑',
171 - fontSize: Dimens.font_sp16,
172 - radius: 24.0,
173 - minWidth: 56.0,
174 - minHeight: 56.0,
175 - padding: const EdgeInsets.symmetric(horizontal: 12.0),
176 - textColor: isDark ? Colours.dark_button_text : Colors.white,
177 - backgroundColor: isDark ? Colours.dark_app_main : Colours.app_main,
178 - onPressed: onTapEdit,
179 - ),
180 - MyButton(
181 - key: Key('goods_operation_item_$index'),
182 - text: '下架',
183 - fontSize: Dimens.font_sp16,
184 - radius: 24.0,
185 - minWidth: 56.0,
186 - minHeight: 56.0,
187 - padding: const EdgeInsets.symmetric(horizontal: 12.0),
188 - textColor: Colours.text,
189 - backgroundColor: buttonColor,
190 - onPressed: onTapOperation,
191 - ),
192 - MyButton(
193 - key: Key('goods_delete_item_$index'),
194 - text: '删除',
195 - fontSize: Dimens.font_sp16,
196 - radius: 24.0,
197 - minWidth: 56.0,
198 - minHeight: 56.0,
199 - padding: const EdgeInsets.symmetric(horizontal: 12.0),
200 - textColor: Colours.text,
201 - backgroundColor: buttonColor,
202 - onPressed: onTapDelete,
203 - ),
204 - Gaps.hGap15,
205 - ],
206 - ),
207 ), 75 ),
208 ); 76 );
209 } 77 }
210 } 78 }
211 79
212 class _GoodsItemTag extends StatelessWidget { 80 class _GoodsItemTag extends StatelessWidget {
213 -
214 const _GoodsItemTag({ 81 const _GoodsItemTag({
215 Key? key, 82 Key? key,
216 required this.color, 83 required this.color,
217 required this.text, 84 required this.text,
218 - }): super(key: key); 85 + }) : super(key: key);
219 86
220 final Color? color; 87 final Color? color;
221 final String text; 88 final String text;
222 - 89 +
223 @override 90 @override
224 Widget build(BuildContext context) { 91 Widget build(BuildContext context) {
225 return Container( 92 return Container(
......
...@@ -3,7 +3,6 @@ import 'package:one_poem/account/page/account_page.dart'; ...@@ -3,7 +3,6 @@ import 'package:one_poem/account/page/account_page.dart';
3 import 'package:one_poem/category/page/categories_page.dart'; 3 import 'package:one_poem/category/page/categories_page.dart';
4 import 'package:one_poem/poem/page/poem_page.dart'; 4 import 'package:one_poem/poem/page/poem_page.dart';
5 import 'package:one_poem/res/resources.dart'; 5 import 'package:one_poem/res/resources.dart';
6 -import 'package:one_poem/routers/not_found_page.dart';
7 import 'package:one_poem/timeline/pages/timelines_page.dart'; 6 import 'package:one_poem/timeline/pages/timelines_page.dart';
8 import 'package:one_poem/util/theme_utils.dart'; 7 import 'package:one_poem/util/theme_utils.dart';
9 import 'package:one_poem/widgets/double_tap_back_exit_app.dart'; 8 import 'package:one_poem/widgets/double_tap_back_exit_app.dart';
...@@ -60,92 +59,72 @@ class _HomeState extends State<Home> with RestorationMixin { ...@@ -60,92 +59,72 @@ class _HomeState extends State<Home> with RestorationMixin {
60 OnePoemLocalizations.of(context).profileBottomNavigationBarItemTitle, 59 OnePoemLocalizations.of(context).profileBottomNavigationBarItemTitle,
61 ]; 60 ];
62 if (_list == null) { 61 if (_list == null) {
63 - List<List<LoadAssetImage>> _tabImages; 62 + List<List<Icon>> _tabImages;
64 if (!isDark) { 63 if (!isDark) {
65 _tabImages = [ 64 _tabImages = [
66 [ 65 [
67 - const LoadAssetImage( 66 + const Icon(
68 - 'home/icon_order', 67 + Icons.stream,
69 - width: _imageSize,
70 - color: Colours.unselected_item_color,
71 ), 68 ),
72 - const LoadAssetImage( 69 + const Icon(
73 - 'home/icon_order', 70 + Icons.stream_outlined,
74 - width: _imageSize,
75 - color: Colours.app_main,
76 ), 71 ),
77 ], 72 ],
78 [ 73 [
79 - const LoadAssetImage( 74 + const Icon(
80 - 'home/icon_commodity', 75 + Icons.self_improvement_outlined,
81 - width: _imageSize,
82 - color: Colours.unselected_item_color,
83 ), 76 ),
84 - const LoadAssetImage( 77 + const Icon(
85 - 'home/icon_commodity', 78 + Icons.self_improvement_outlined,
86 - width: _imageSize,
87 - color: Colours.app_main,
88 ), 79 ),
89 - ], 80 + ],[
90 - [ 81 + const Icon(
91 - const LoadAssetImage( 82 + Icons.groups,
92 - 'home/icon_statistics',
93 - width: _imageSize,
94 - color: Colours.unselected_item_color,
95 ), 83 ),
96 - const LoadAssetImage( 84 + const Icon(
97 - 'home/icon_statistics', 85 + Icons.groups_outlined,
98 - width: _imageSize,
99 - color: Colours.app_main,
100 ), 86 ),
101 - ], 87 + ],[
102 - [ 88 + const Icon(
103 - const LoadAssetImage( 89 + Icons.perm_identity,
104 - 'home/icon_shop',
105 - width: _imageSize,
106 - color: Colours.unselected_item_color,
107 ), 90 ),
108 - const LoadAssetImage( 91 + const Icon(
109 - 'home/icon_shop', 92 + Icons.perm_identity_outlined,
110 - width: _imageSize,
111 - color: Colours.app_main,
112 ), 93 ),
113 - ] 94 + ],
114 ]; 95 ];
115 } else { 96 } else {
116 _tabImages = [ 97 _tabImages = [
117 [ 98 [
118 - const LoadAssetImage('home/icon_order', width: _imageSize), 99 + const Icon(
119 - const LoadAssetImage( 100 + Icons.stream,
120 - 'home/icon_order',
121 - width: _imageSize,
122 - color: Colours.dark_app_main,
123 ), 101 ),
124 - ], 102 + const Icon(
125 - [ 103 + Icons.stream_outlined,
126 - const LoadAssetImage('home/icon_commodity', width: _imageSize),
127 - const LoadAssetImage(
128 - 'home/icon_commodity',
129 - width: _imageSize,
130 - color: Colours.dark_app_main,
131 ), 104 ),
132 ], 105 ],
133 [ 106 [
134 - const LoadAssetImage('home/icon_statistics', width: _imageSize), 107 + const Icon(
135 - const LoadAssetImage( 108 + Icons.self_improvement_outlined,
136 - 'home/icon_statistics',
137 - width: _imageSize,
138 - color: Colours.dark_app_main,
139 ), 109 ),
140 - ], 110 + const Icon(
141 - [ 111 + Icons.self_improvement_outlined,
142 - const LoadAssetImage('home/icon_shop', width: _imageSize), 112 + ),
143 - const LoadAssetImage( 113 + ],[
144 - 'home/icon_shop', 114 + const Icon(
145 - width: _imageSize, 115 + Icons.groups,
146 - color: Colours.dark_app_main, 116 + ),
117 + const Icon(
118 + Icons.groups_outlined,
147 ), 119 ),
148 - ] 120 + ],[
121 + const Icon(
122 + Icons.perm_identity,
123 + ),
124 + const Icon(
125 + Icons.perm_identity_outlined,
126 + ),
127 + ],
149 ]; 128 ];
150 } 129 }
151 _list = List.generate(_tabImages.length, (i) { 130 _list = List.generate(_tabImages.length, (i) {
......
...@@ -143,7 +143,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { ...@@ -143,7 +143,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
143 onShare: () {}, 143 onShare: () {},
144 ); 144 );
145 Widget poem = TikTokVidePoem( 145 Widget poem = TikTokVidePoem(
146 - desc: "清晨入古寺,初日照高林。\n竹径通幽处,禅房花木深。", 146 + title: "每日一言",
147 + poem: "清晨入古寺,初日照高林。\n曲径通幽处,禅房花木深。\n山光悦鸟性,潭影空人心。\n万籁此都寂,但余钟磬音。\n",
148 + author: "--《题破山寺后禅院》常建",
147 onShowDetail: () { 149 onShowDetail: () {
148 tkController.animateToPage(TikTokPagePosition.right); 150 tkController.animateToPage(TikTokPagePosition.right);
149 }, 151 },
......
...@@ -5,7 +5,8 @@ class Colours { ...@@ -5,7 +5,8 @@ class Colours {
5 static const Color dark_app_main = Color(0xFF3F7AE0); 5 static const Color dark_app_main = Color(0xFF3F7AE0);
6 6
7 static const Color bg_color = Color(0xfff1f1f1); 7 static const Color bg_color = Color(0xfff1f1f1);
8 - static const Color dark_bg_color = Color(0xFF18191A); 8 + // static const Color dark_bg_color = Color(0xFF18191A);
9 + static const Color dark_bg_color = Color(0x00242424);
9 10
10 static const Color material_bg = Color(0xFFFFFFFF); 11 static const Color material_bg = Color(0xFFFFFFFF);
11 static const Color dark_material_bg = Color(0xFF303233); 12 static const Color dark_material_bg = Color(0xFF303233);
......
...@@ -6,17 +6,14 @@ class TikTokTopInfoColumn extends StatelessWidget { ...@@ -6,17 +6,14 @@ class TikTokTopInfoColumn extends StatelessWidget {
6 final String? info; 6 final String? info;
7 const TikTokTopInfoColumn({ 7 const TikTokTopInfoColumn({
8 Key? key, 8 Key? key,
9 - this.bottomPadding, this.info, 9 + this.bottomPadding,
10 + this.info,
10 }) : super(key: key); 11 }) : super(key: key);
11 12
12 @override 13 @override
13 Widget build(BuildContext context) { 14 Widget build(BuildContext context) {
14 return Container( 15 return Container(
15 - width: SysSize.avatar, 16 + margin: const EdgeInsets.all(10.0),
16 - margin: EdgeInsets.only(
17 - bottom: bottomPadding ?? 50,
18 - right: 12,
19 - ),
20 child: Column( 17 child: Column(
21 mainAxisAlignment: MainAxisAlignment.end, 18 mainAxisAlignment: MainAxisAlignment.end,
22 crossAxisAlignment: CrossAxisAlignment.end, 19 crossAxisAlignment: CrossAxisAlignment.end,
...@@ -39,4 +36,4 @@ class TikTokTopInfoColumn extends StatelessWidget { ...@@ -39,4 +36,4 @@ class TikTokTopInfoColumn extends StatelessWidget {
39 ), 36 ),
40 ); 37 );
41 } 38 }
42 -}
...\ No newline at end of file ...\ No newline at end of file
39 +}
......
1 +import 'dart:ui';
2 +
3 +import 'package:flutter/cupertino.dart';
1 import 'package:flutter/material.dart'; 4 import 'package:flutter/material.dart';
2 -import 'package:one_poem/tiktok/style/style.dart'; 5 +import 'package:one_poem/res/resources.dart';
3 6
4 class TikTokVidePoem extends StatelessWidget { 7 class TikTokVidePoem extends StatelessWidget {
5 final double? bottomPadding; 8 final double? bottomPadding;
6 final Function? onShowDetail; 9 final Function? onShowDetail;
7 - final String? desc; 10 + final String? poem;
11 + final String? title;
12 + final String? author;
8 const TikTokVidePoem({ 13 const TikTokVidePoem({
9 Key? key, 14 Key? key,
10 this.bottomPadding, 15 this.bottomPadding,
11 this.onShowDetail, 16 this.onShowDetail,
12 - this.desc, 17 + this.poem,
18 + this.title,
19 + this.author,
13 }) : super(key: key); 20 }) : super(key: key);
14 21
15 @override 22 @override
16 Widget build(BuildContext context) { 23 Widget build(BuildContext context) {
17 return Container( 24 return Container(
18 - width: SysSize.avatar, 25 + decoration: BoxDecoration(
19 - margin: EdgeInsets.only( 26 + color: Colors.black.withOpacity(.5),
20 - bottom: bottomPadding ?? 50, 27 + border: Border.all(color: Colors.grey, width: 0.1), // 边色与边宽度
21 - right: 12, 28 + borderRadius: BorderRadius.circular(2.0),
22 ), 29 ),
23 - child: Column( 30 + height: 220.0,
24 - mainAxisAlignment: MainAxisAlignment.end, 31 + margin: const EdgeInsets.all(10.0),
25 - crossAxisAlignment: CrossAxisAlignment.end, 32 + child: InkWell(
26 - children: <Widget>[ 33 + child: ClipRect(
27 - InkWell( 34 + child: BackdropFilter(
35 + filter: ImageFilter.blur(
36 + sigmaX: 10.0,
37 + sigmaY: 10.0,
38 + ),
28 child: Container( 39 child: Container(
29 - child: Text( 40 + decoration: BoxDecoration(
30 - desc ?? '#一言 临境', 41 + color: Colors.grey.shade200.withOpacity(0.1),
31 - style: StandardTextStyle.normal, 42 + ),
43 + child: Padding(
44 + padding: const EdgeInsets.all(10.0),
45 + child: Column(
46 + children: [
47 + Text(
48 + title ?? '每日一言',
49 + style: const TextStyle(fontSize: 28.0),
50 + ),
51 + Gaps.vGap10,
52 + Text(
53 + poem ?? '#一言 临境',
54 + style: const TextStyle(
55 + fontFamily: "ZCOOLXiaoWei", fontSize: 24.0),
56 + ),
57 + Text(
58 + author ?? '诗人',
59 + style: const TextStyle(fontSize: 16.0),
60 + ),
61 + ],
62 + ),
32 ), 63 ),
33 ), 64 ),
34 - onTap: (){
35 - onShowDetail;
36 - },
37 ), 65 ),
38 - Container( 66 + ),
39 - width: SysSize.avatar, 67 + onTap: () {
40 - height: SysSize.avatar, 68 + onShowDetail;
41 - margin: const EdgeInsets.only(top: 10), 69 + },
42 - decoration: BoxDecoration(
43 - borderRadius: BorderRadius.circular(SysSize.avatar / 2.0),
44 - // color: Colors.black.withOpacity(0.8),
45 - ),
46 - )
47 - ],
48 ), 70 ),
49 ); 71 );
50 } 72 }
51 -}
...\ No newline at end of file ...\ No newline at end of file
73 +}
......
...@@ -74,7 +74,7 @@ class _TimelinesPageState extends State<TimelinesPage>{ ...@@ -74,7 +74,7 @@ class _TimelinesPageState extends State<TimelinesPage>{
74 Opacity( 74 Opacity(
75 opacity: _opacity, 75 opacity: _opacity,
76 child: const CupertinoNavigationBar( 76 child: const CupertinoNavigationBar(
77 - middle: Text("朋友圈"), 77 + middle: Text("临境|附近|新鲜"),
78 78
79 ), 79 ),
80 ) 80 )
......
This diff is collapsed. Click to expand it.
...@@ -168,6 +168,7 @@ flutter: ...@@ -168,6 +168,7 @@ flutter:
168 - assets/images/account/ 168 - assets/images/account/
169 - assets/images/state/ 169 - assets/images/state/
170 - assets/images/poem/ 170 - assets/images/poem/
171 + - assets/images/category/
171 - assets/data/Data.json 172 - assets/data/Data.json
172 - assets/data/friends/ 173 - assets/data/friends/
173 174
...@@ -175,5 +176,12 @@ flutter: ...@@ -175,5 +176,12 @@ flutter:
175 - family: RobotoThin 176 - family: RobotoThin
176 fonts: 177 fonts:
177 - asset: assets/fonts/Roboto-Thin.ttf 178 - asset: assets/fonts/Roboto-Thin.ttf
179 + # 开源字体:https://fonts.google.com/
180 + - family: LongCang
181 + fonts:
182 + - asset: assets/fonts/LongCang-Regular.ttf
183 + - family: ZCOOLXiaoWei
184 + fonts:
185 + - asset: assets/fonts/ZCOOLXiaoWei-Regular.ttf
178 flutter_intl: 186 flutter_intl:
179 enabled: true 187 enabled: true
...\ No newline at end of file ...\ No newline at end of file
......