Showing
7 changed files
with
55 additions
and
97 deletions
... | @@ -148,7 +148,6 @@ class _AccountPageState extends State<AccountPage> { | ... | @@ -148,7 +148,6 @@ class _AccountPageState extends State<AccountPage> { |
148 | ); | 148 | ); |
149 | return Scaffold( | 149 | return Scaffold( |
150 | appBar: const MyAppBar( | 150 | appBar: const MyAppBar( |
151 | - centerTitle: '我在', | ||
152 | ), | 151 | ), |
153 | body: Container( | 152 | body: Container( |
154 | decoration: const BoxDecoration( | 153 | decoration: const BoxDecoration( | ... | ... |
File mode changed
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/gaps.dart'; | 3 | import 'package:one_poem/res/gaps.dart'; |
4 | +import 'package:one_poem/util/theme_utils.dart'; | ||
5 | +import 'package:one_poem/util/toast_utils.dart'; | ||
4 | import 'package:one_poem/widgets/load_image.dart'; | 6 | import 'package:one_poem/widgets/load_image.dart'; |
5 | import 'package:one_poem/widgets/my_app_bar.dart'; | 7 | import 'package:one_poem/widgets/my_app_bar.dart'; |
6 | 8 | ||
... | @@ -23,9 +25,11 @@ class _PoemDetailPageState extends State<PoemDetailPage> { | ... | @@ -23,9 +25,11 @@ class _PoemDetailPageState extends State<PoemDetailPage> { |
23 | Widget build(BuildContext context) { | 25 | Widget build(BuildContext context) { |
24 | return Scaffold( | 26 | return Scaffold( |
25 | // extendBodyBehindAppBar: true,// appbar背景透明 | 27 | // extendBodyBehindAppBar: true,// appbar背景透明 |
26 | - appBar: const MyAppBar( | 28 | + appBar: MyAppBar( |
27 | - title: '一言', | 29 | + isShowButtons: true, |
28 | - actionName: "返回", | 30 | + funcLeft: () { |
31 | + print("xxxxx"); | ||
32 | + }, | ||
29 | ), | 33 | ), |
30 | body: Container( | 34 | body: Container( |
31 | decoration: const BoxDecoration( | 35 | decoration: const BoxDecoration( | ... | ... |
... | @@ -4,12 +4,13 @@ import 'package:one_poem/tiktok/controller/tiktok_video_list_controller.dart'; | ... | @@ -4,12 +4,13 @@ import 'package:one_poem/tiktok/controller/tiktok_video_list_controller.dart'; |
4 | import 'package:one_poem/tiktok/mock/video.dart'; | 4 | import 'package:one_poem/tiktok/mock/video.dart'; |
5 | import 'package:one_poem/tiktok/pages/search_page.dart'; | 5 | import 'package:one_poem/tiktok/pages/search_page.dart'; |
6 | import 'package:one_poem/tiktok/style/physics.dart'; | 6 | import 'package:one_poem/tiktok/style/physics.dart'; |
7 | -import 'package:one_poem/tiktok/widgets/tiktok_header.dart'; | ||
8 | import 'package:one_poem/tiktok/widgets/tiktok_scaffold.dart'; | 7 | import 'package:one_poem/tiktok/widgets/tiktok_scaffold.dart'; |
9 | import 'package:one_poem/tiktok/widgets/tiktok_top_info.dart'; | 8 | import 'package:one_poem/tiktok/widgets/tiktok_top_info.dart'; |
10 | import 'package:one_poem/tiktok/widgets/tiktok_video.dart'; | 9 | import 'package:one_poem/tiktok/widgets/tiktok_video.dart'; |
11 | import 'package:one_poem/tiktok/widgets/tiktok_video_button_column.dart'; | 10 | import 'package:one_poem/tiktok/widgets/tiktok_video_button_column.dart'; |
12 | import 'package:one_poem/tiktok/widgets/tiktok_video_poem.dart'; | 11 | import 'package:one_poem/tiktok/widgets/tiktok_video_poem.dart'; |
12 | +import 'package:one_poem/util/toast_utils.dart'; | ||
13 | +import 'package:one_poem/widgets/my_app_bar.dart'; | ||
13 | import 'package:video_player/video_player.dart'; | 14 | import 'package:video_player/video_player.dart'; |
14 | 15 | ||
15 | import 'poem_detail.dart'; | 16 | import 'poem_detail.dart'; |
... | @@ -28,10 +29,6 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { | ... | @@ -28,10 +29,6 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { |
28 | 29 | ||
29 | final TikTokVideoListController _videoListController = | 30 | final TikTokVideoListController _videoListController = |
30 | TikTokVideoListController(); | 31 | TikTokVideoListController(); |
31 | - | ||
32 | - /// 记录点赞 | ||
33 | - Map<int, bool> favoriteMap = {}; | ||
34 | - | ||
35 | List<UserVideo> videoDataList = []; | 32 | List<UserVideo> videoDataList = []; |
36 | 33 | ||
37 | @override | 34 | @override |
... | @@ -95,12 +92,6 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { | ... | @@ -95,12 +92,6 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { |
95 | double a = MediaQuery.of(context).size.aspectRatio; | 92 | double a = MediaQuery.of(context).size.aspectRatio; |
96 | bool hasBottomPadding = a < 0.55; | 93 | bool hasBottomPadding = a < 0.55; |
97 | 94 | ||
98 | - var header = TikTokHeader( | ||
99 | - onSearch: () { | ||
100 | - tkController.animateToLeft(); | ||
101 | - }, | ||
102 | - ); | ||
103 | - | ||
104 | var detailPage = PoemDetailPage( | 95 | var detailPage = PoemDetailPage( |
105 | onPop: () { | 96 | onPop: () { |
106 | tkController.animateToMiddle(); | 97 | tkController.animateToMiddle(); |
... | @@ -114,7 +105,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { | ... | @@ -114,7 +105,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { |
114 | // 组合 | 105 | // 组合 |
115 | return TikTokScaffold( | 106 | return TikTokScaffold( |
116 | controller: tkController, | 107 | controller: tkController, |
117 | - header: header, | 108 | + header: MyAppBar( |
109 | + isBack: false, | ||
110 | + ), | ||
118 | leftPage: searchPage, | 111 | leftPage: searchPage, |
119 | rightPage: detailPage, | 112 | rightPage: detailPage, |
120 | enableGesture: true, | 113 | enableGesture: true, | ... | ... |
... | @@ -20,7 +20,6 @@ class _AccountManagerPageState extends State<AccountManagerPage> { | ... | @@ -20,7 +20,6 @@ class _AccountManagerPageState extends State<AccountManagerPage> { |
20 | Widget build(BuildContext context) { | 20 | Widget build(BuildContext context) { |
21 | return Scaffold( | 21 | return Scaffold( |
22 | appBar: const MyAppBar( | 22 | appBar: const MyAppBar( |
23 | - centerTitle: '账号管理', | ||
24 | ), | 23 | ), |
25 | body: Column( | 24 | body: Column( |
26 | children: <Widget>[ | 25 | children: <Widget>[ | ... | ... |
1 | -import 'package:flutter/material.dart'; | ||
2 | -import 'package:tapped/tapped.dart'; | ||
3 | - | ||
4 | -class TikTokHeader extends StatefulWidget { | ||
5 | - final Function? onSearch; | ||
6 | - const TikTokHeader({ | ||
7 | - Key? key, | ||
8 | - this.onSearch, | ||
9 | - }) : super(key: key); | ||
10 | - | ||
11 | - @override | ||
12 | - _TikTokHeaderState createState() => _TikTokHeaderState(); | ||
13 | -} | ||
14 | - | ||
15 | -class _TikTokHeaderState extends State<TikTokHeader> { | ||
16 | - int currentSelect = 0; | ||
17 | - @override | ||
18 | - Widget build(BuildContext context) { | ||
19 | - return Container( | ||
20 | - padding: const EdgeInsets.symmetric(horizontal: 16), | ||
21 | - child: Row( | ||
22 | - mainAxisAlignment: MainAxisAlignment.center, | ||
23 | - children: <Widget>[ | ||
24 | - Expanded( | ||
25 | - child: Tapped( | ||
26 | - child: Container( | ||
27 | - color: Colors.black.withOpacity(0), | ||
28 | - padding: const EdgeInsets.all(4), | ||
29 | - alignment: Alignment.centerLeft, | ||
30 | - child: Icon( | ||
31 | - Icons.star, | ||
32 | - color: Colors.white.withOpacity(0.66), | ||
33 | - ), | ||
34 | - ), | ||
35 | - onTap: widget.onSearch, | ||
36 | - ), | ||
37 | - ), | ||
38 | - Expanded( | ||
39 | - child: Tapped( | ||
40 | - child: Container( | ||
41 | - color: Colors.black.withOpacity(0), | ||
42 | - padding: const EdgeInsets.all(4), | ||
43 | - alignment: Alignment.centerRight, | ||
44 | - child: Icon( | ||
45 | - Icons.ios_share, | ||
46 | - color: Colors.white.withOpacity(0.66), | ||
47 | - ), | ||
48 | - ), | ||
49 | - ), | ||
50 | - ), | ||
51 | - ], | ||
52 | - ), | ||
53 | - ); | ||
54 | - } | ||
55 | -} |
... | @@ -3,21 +3,26 @@ import 'package:flutter/services.dart'; | ... | @@ -3,21 +3,26 @@ import 'package:flutter/services.dart'; |
3 | import 'package:one_poem/util/theme_utils.dart'; | 3 | import 'package:one_poem/util/theme_utils.dart'; |
4 | import 'package:one_poem/res/resources.dart'; | 4 | import 'package:one_poem/res/resources.dart'; |
5 | 5 | ||
6 | -import 'my_button.dart'; | ||
7 | - | ||
8 | /// 自定义AppBar | 6 | /// 自定义AppBar |
9 | class MyAppBar extends StatelessWidget implements PreferredSizeWidget { | 7 | class MyAppBar extends StatelessWidget implements PreferredSizeWidget { |
10 | - const MyAppBar( | 8 | + const MyAppBar({ |
11 | - {Key? key, | 9 | + Key? key, |
12 | - this.backgroundColor, | 10 | + this.backgroundColor, |
13 | - this.title = '', | 11 | + this.title = '', |
14 | - this.centerTitle = '', | 12 | + this.centerTitle = '', |
15 | - this.actionName = '', | 13 | + this.actionName = '', |
16 | - this.backImg = 'assets/images/ic_back_black.png', | 14 | + this.backImg = 'assets/images/ic_back_black.png', |
17 | - this.backImgColor, | 15 | + this.backImgColor, |
18 | - this.onPressed, | 16 | + this.onPressed, |
19 | - this.isBack = true}) | 17 | + this.isBack = true, |
20 | - : super(key: key); | 18 | + this.buttonLeft, |
19 | + this.funcLeft, | ||
20 | + this.buttonCenter, | ||
21 | + this.funcCenter, | ||
22 | + this.buttonRight, | ||
23 | + this.funcRight, | ||
24 | + this.isShowButtons = false, | ||
25 | + }) : super(key: key); | ||
21 | 26 | ||
22 | final Color? backgroundColor; | 27 | final Color? backgroundColor; |
23 | final String title; | 28 | final String title; |
... | @@ -27,6 +32,14 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget { | ... | @@ -27,6 +32,14 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget { |
27 | final String actionName; | 32 | final String actionName; |
28 | final VoidCallback? onPressed; | 33 | final VoidCallback? onPressed; |
29 | final bool isBack; | 34 | final bool isBack; |
35 | + final bool isShowButtons; | ||
36 | + | ||
37 | + final String? buttonLeft; | ||
38 | + final Function? funcLeft; | ||
39 | + final String? buttonCenter; | ||
40 | + final Function? funcCenter; | ||
41 | + final String? buttonRight; | ||
42 | + final Function? funcRight; | ||
30 | 43 | ||
31 | @override | 44 | @override |
32 | Widget build(BuildContext context) { | 45 | Widget build(BuildContext context) { |
... | @@ -89,31 +102,36 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget { | ... | @@ -89,31 +102,36 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget { |
89 | namesRoute: true, | 102 | namesRoute: true, |
90 | header: true, | 103 | header: true, |
91 | child: Container( | 104 | child: Container( |
92 | - // decoration: new BoxDecoration( | ||
93 | - // color: Colors.red, | ||
94 | - // ), | ||
95 | alignment: Alignment.center, | 105 | alignment: Alignment.center, |
96 | width: double.infinity, | 106 | width: double.infinity, |
97 | margin: const EdgeInsets.symmetric(horizontal: 48.0), | 107 | margin: const EdgeInsets.symmetric(horizontal: 48.0), |
98 | - child: Row( | 108 | + child: isShowButtons ? Row( |
99 | - mainAxisAlignment: MainAxisAlignment.center, | ||
100 | children: [ | 109 | children: [ |
101 | TextButton( | 110 | TextButton( |
102 | - onPressed: () {}, | 111 | + onPressed: () => funcLeft!(), |
103 | - child: const Text("一言", style: TextStyle(color: Colors.white),), | 112 | + child: Text( |
113 | + buttonLeft ?? "一言", | ||
114 | + style: const TextStyle(color: Colors.white), | ||
115 | + ), | ||
104 | ), | 116 | ), |
105 | const Text("|"), | 117 | const Text("|"), |
106 | TextButton( | 118 | TextButton( |
107 | - onPressed: () {}, | 119 | + onPressed: () => funcCenter!(), |
108 | - child: const Text("译解", style: TextStyle(color: Colors.white),), | 120 | + child: Text( |
121 | + buttonCenter ?? "译解", | ||
122 | + style: const TextStyle(color: Colors.white), | ||
123 | + ), | ||
109 | ), | 124 | ), |
110 | const Text("|"), | 125 | const Text("|"), |
111 | TextButton( | 126 | TextButton( |
112 | - onPressed: () {}, | 127 | + onPressed: () => funcRight!(), |
113 | - child: const Text("临境", style: TextStyle(color: Colors.white),), | 128 | + child: Text( |
129 | + buttonRight ?? "临境", | ||
130 | + style: const TextStyle(color: Colors.white), | ||
131 | + ), | ||
114 | ), | 132 | ), |
115 | ], | 133 | ], |
116 | - ), | 134 | + ) : Gaps.hGap10, |
117 | ), | 135 | ), |
118 | ); | 136 | ); |
119 | 137 | ... | ... |
-
Please register or login to post a comment