reason

页面样式优化

...@@ -6,7 +6,6 @@ import 'package:one_poem/res/resources.dart'; ...@@ -6,7 +6,6 @@ import 'package:one_poem/res/resources.dart';
6 import 'package:one_poem/timeline/pages/timelines_page.dart'; 6 import 'package:one_poem/timeline/pages/timelines_page.dart';
7 import 'package:one_poem/util/theme_utils.dart'; 7 import 'package:one_poem/util/theme_utils.dart';
8 import 'package:one_poem/widgets/double_tap_back_exit_app.dart'; 8 import 'package:one_poem/widgets/double_tap_back_exit_app.dart';
9 -import 'package:one_poem/widgets/load_image.dart';
10 import 'package:provider/provider.dart'; 9 import 'package:provider/provider.dart';
11 import 'package:flutter_gen/gen_l10n/one_poem_localizations.dart'; 10 import 'package:flutter_gen/gen_l10n/one_poem_localizations.dart';
12 import 'provider/home_provider.dart'; 11 import 'provider/home_provider.dart';
......
...@@ -3,12 +3,18 @@ import 'dart:ui'; ...@@ -3,12 +3,18 @@ import 'dart:ui';
3 import 'package:flutter/cupertino.dart'; 3 import 'package:flutter/cupertino.dart';
4 import 'package:flutter/material.dart'; 4 import 'package:flutter/material.dart';
5 import 'package:one_poem/poem/widgets/poem_content.dart'; 5 import 'package:one_poem/poem/widgets/poem_content.dart';
6 +import 'package:one_poem/poem/widgets/poem_user_audio.dart';
6 import 'package:one_poem/poem/widgets/poem_user_comments.dart'; 7 import 'package:one_poem/poem/widgets/poem_user_comments.dart';
7 import 'package:one_poem/res/gaps.dart'; 8 import 'package:one_poem/res/gaps.dart';
8 import 'package:one_poem/widgets/bars/home_action_bar.dart'; 9 import 'package:one_poem/widgets/bars/home_action_bar.dart';
9 import 'package:one_poem/widgets/bars/home_menu_bar.dart'; 10 import 'package:one_poem/widgets/bars/home_menu_bar.dart';
10 import 'package:one_poem/widgets/my_app_bar.dart'; 11 import 'package:one_poem/widgets/my_app_bar.dart';
11 12
13 +enum PoemContentSwitch {
14 + audio,
15 + comment,
16 +}
17 +
12 class PoemDetailPage extends StatefulWidget { 18 class PoemDetailPage extends StatefulWidget {
13 const PoemDetailPage({ 19 const PoemDetailPage({
14 Key? key, 20 Key? key,
...@@ -26,6 +32,7 @@ class PoemDetailPage extends StatefulWidget { ...@@ -26,6 +32,7 @@ class PoemDetailPage extends StatefulWidget {
26 } 32 }
27 33
28 class _PoemDetailPageState extends State<PoemDetailPage> { 34 class _PoemDetailPageState extends State<PoemDetailPage> {
35 + PoemContentSwitch contentSwitch = PoemContentSwitch.audio;
29 @override 36 @override
30 Widget build(BuildContext context) { 37 Widget build(BuildContext context) {
31 const poemStr = "清晨入古寺,初日照高林。\n竹径通幽处,禅房花木深。\n山光悦鸟性,潭影空人心。\n万籁此都寂,但余钟磬音。"; 38 const poemStr = "清晨入古寺,初日照高林。\n竹径通幽处,禅房花木深。\n山光悦鸟性,潭影空人心。\n万籁此都寂,但余钟磬音。";
...@@ -35,7 +42,12 @@ class _PoemDetailPageState extends State<PoemDetailPage> { ...@@ -35,7 +42,12 @@ class _PoemDetailPageState extends State<PoemDetailPage> {
35 isTransparent: false, 42 isTransparent: false,
36 homeMenuHeader: HomeMenuHeader( 43 homeMenuHeader: HomeMenuHeader(
37 funcLeft: () { 44 funcLeft: () {
38 - print("lefltlelfle poem id=" + widget.poemId.toString()); 45 + contentSwitch = PoemContentSwitch.audio;
46 + setState(() {});
47 + },
48 + funcCenter: () {
49 + contentSwitch = PoemContentSwitch.comment;
50 + setState(() {});
39 }, 51 },
40 ), 52 ),
41 homeActionWidgets: HomeActionWidgets( 53 homeActionWidgets: HomeActionWidgets(
...@@ -88,9 +100,16 @@ class _PoemDetailPageState extends State<PoemDetailPage> { ...@@ -88,9 +100,16 @@ class _PoemDetailPageState extends State<PoemDetailPage> {
88 author: "常建", 100 author: "常建",
89 poemStr: poemStr, 101 poemStr: poemStr,
90 ), 102 ),
91 - const Expanded( 103 + Expanded(
92 flex: 1, 104 flex: 1,
93 - child: PoemUserComments(), 105 + child: contentSwitch == PoemContentSwitch.audio
106 + ? const PoemUserAudio()
107 + : const PoemUserComments(
108 + author: "老魔取西经",
109 + comments:
110 + "那日早上,我到达百望山顶,看着山顶空空的楼阁,想象那也可以是一所禅房吧",
111 + datetime: "2021年12月23日 辰时三刻",
112 + ),
94 ), 113 ),
95 Container( 114 Container(
96 width: double.infinity, 115 width: double.infinity,
......
...@@ -22,7 +22,7 @@ class PoemContent extends StatelessWidget { ...@@ -22,7 +22,7 @@ class PoemContent extends StatelessWidget {
22 title, 22 title,
23 style: const TextStyle( 23 style: const TextStyle(
24 fontSize: 24.0, 24 fontSize: 24.0,
25 - color: Colors.white, 25 + color: Colors.black54,
26 ), 26 ),
27 ), 27 ),
28 Gaps.vGap16, 28 Gaps.vGap16,
...@@ -30,7 +30,7 @@ class PoemContent extends StatelessWidget { ...@@ -30,7 +30,7 @@ class PoemContent extends StatelessWidget {
30 author, 30 author,
31 style: const TextStyle( 31 style: const TextStyle(
32 fontSize: 18.0, 32 fontSize: 18.0,
33 - color: Colors.white, 33 + color: Colors.black54,
34 ), 34 ),
35 ), 35 ),
36 Gaps.vGap12, 36 Gaps.vGap12,
...@@ -52,7 +52,7 @@ class PoemContent extends StatelessWidget { ...@@ -52,7 +52,7 @@ class PoemContent extends StatelessWidget {
52 Text( 52 Text(
53 poemStr, 53 poemStr,
54 style: const TextStyle( 54 style: const TextStyle(
55 - color: Colors.white, 55 + color: Colors.black54,
56 fontFamily: "ZCOOLXiaoWei", 56 fontFamily: "ZCOOLXiaoWei",
57 fontSize: 24.0, 57 fontSize: 24.0,
58 ), 58 ),
......
1 +import 'package:flutter/cupertino.dart';
2 +import 'package:flutter/material.dart';
3 +
4 +class PoemUserAudio extends StatelessWidget {
5 + const PoemUserAudio({
6 + Key? key,
7 + this.audio, //TODO 传入数据
8 + this.desc,
9 + }) : super(key: key);
10 +
11 + final List<Map<String, String>>? audio;
12 + final String? desc;
13 + @override
14 + Widget build(BuildContext context) {
15 + return Container(
16 + padding: const EdgeInsets.symmetric(vertical: 5.0, horizontal: 10.0),
17 + width: double.infinity,
18 + child: Column(
19 + children: <Widget>[
20 + ListTile(
21 + title: Text(
22 + desc ?? "一大波用户朗读录制提交了“临境”",
23 + style: const TextStyle(color: Colors.white, fontSize: 15.0),
24 + ),
25 + ),
26 + SizedBox(
27 + width: double.infinity,
28 + height: 200.0,
29 + child: ListView.builder(
30 + itemBuilder: (BuildContext context, int index) {
31 + return Wrap(
32 + spacing: 5.0,
33 + crossAxisAlignment: WrapCrossAlignment.center,
34 + children: const [
35 + Icon(
36 + Icons.play_circle_outline,
37 + size: 16.0,
38 + color: Colors.white,
39 + ),
40 + Text(
41 + "普通话",
42 + style: TextStyle(color: Colors.white, fontSize: 16.0),
43 + )
44 + ],
45 + );
46 + }),
47 + ),
48 + ],
49 + ),
50 + );
51 + }
52 +}
1 import 'package:flutter/cupertino.dart'; 1 import 'package:flutter/cupertino.dart';
2 import 'package:flutter/material.dart'; 2 import 'package:flutter/material.dart';
3 +import 'package:one_poem/res/resources.dart';
3 4
4 class PoemUserComments extends StatelessWidget { 5 class PoemUserComments extends StatelessWidget {
5 const PoemUserComments({ 6 const PoemUserComments({
6 Key? key, 7 Key? key,
7 - this.comments, //TODO 传入数据 8 + required this.comments,
8 - this.desc, 9 + this.author = "佚名",
10 + required this.datetime, //TODO 传入数据
9 }) : super(key: key); 11 }) : super(key: key);
10 12
11 - final List<Map<String, String>>? comments; 13 + final String comments;
12 - final String? desc; 14 + final String author;
15 + final String datetime;
13 @override 16 @override
14 Widget build(BuildContext context) { 17 Widget build(BuildContext context) {
15 return Container( 18 return Container(
19 + alignment: Alignment.topLeft,
16 padding: const EdgeInsets.symmetric(vertical: 5.0, horizontal: 10.0), 20 padding: const EdgeInsets.symmetric(vertical: 5.0, horizontal: 10.0),
17 width: double.infinity, 21 width: double.infinity,
18 child: Column( 22 child: Column(
23 + mainAxisAlignment: MainAxisAlignment.start,
24 + crossAxisAlignment: CrossAxisAlignment.start,
19 children: <Widget>[ 25 children: <Widget>[
20 - ListTile( 26 + const Text(
21 - title: Text( 27 + "临境有感:",
22 - desc ?? "一大波用户朗读录制提交了“临境”", 28 + style: TextStyle(
23 - style: const TextStyle(color: Colors.white, fontSize: 15.0), 29 + color: Colors.black54,
24 ), 30 ),
25 ), 31 ),
26 - SizedBox( 32 + Gaps.vGap5,
27 - width: double.infinity, 33 + Text(comments, style: const TextStyle(color: Colors.black45),),
28 - height: 200.0, 34 + Gaps.vGap5,
29 - child:ListView.builder( 35 + Wrap(
30 - itemBuilder: (BuildContext context, int index) { 36 + crossAxisAlignment: WrapCrossAlignment.center,
31 - return Wrap( 37 + children: [
32 - spacing: 5.0, 38 + const Icon(
33 - crossAxisAlignment: WrapCrossAlignment.center, 39 + Icons.self_improvement,
34 - children: const [ 40 + size: 15.0,
35 - Icon( 41 + ),
36 - Icons.play_circle_outline, 42 + Text("言者:$author", style: const TextStyle(color: Colors.black45, fontSize: 12.0),),
37 - size: 16.0, 43 + ],
38 - color: Colors.white,
39 - ),
40 - Text(
41 - "普通话",
42 - style: TextStyle(color: Colors.white, fontSize: 16.0),
43 - )
44 - ],
45 - );
46 - }),
47 ), 44 ),
45 + Text(datetime, style: const TextStyle(color: Colors.black45,fontSize: 12.0),),
48 ], 46 ],
49 ), 47 ),
50 ); 48 );
......