reason

update tiktok background

...@@ -7,6 +7,7 @@ import 'package:one_poem/tiktok/pages/user_page.dart'; ...@@ -7,6 +7,7 @@ import 'package:one_poem/tiktok/pages/user_page.dart';
7 import 'package:one_poem/tiktok/style/physics.dart'; 7 import 'package:one_poem/tiktok/style/physics.dart';
8 import 'package:one_poem/tiktok/views/tiktok_header.dart'; 8 import 'package:one_poem/tiktok/views/tiktok_header.dart';
9 import 'package:one_poem/tiktok/views/tiktok_scaffold.dart'; 9 import 'package:one_poem/tiktok/views/tiktok_scaffold.dart';
10 +import 'package:one_poem/tiktok/views/tiktok_top_info.dart';
10 import 'package:one_poem/tiktok/views/tiktok_video.dart'; 11 import 'package:one_poem/tiktok/views/tiktok_video.dart';
11 import 'package:one_poem/tiktok/views/tiktok_video_button_column.dart'; 12 import 'package:one_poem/tiktok/views/tiktok_video_button_column.dart';
12 import 'package:video_player/video_player.dart'; 13 import 'package:video_player/video_player.dart';
...@@ -142,6 +143,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { ...@@ -142,6 +143,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
142 }, 143 },
143 onShare: () {}, 144 onShare: () {},
144 ); 145 );
146 + Widget topInfo = const TikTokTopInfoColumn(
147 + info: "早安"
148 + );
145 // video 149 // video
146 Widget currentVideo = Center( 150 Widget currentVideo = Center(
147 child: AspectRatio( 151 child: AspectRatio(
...@@ -175,6 +179,7 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver { ...@@ -175,6 +179,7 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
175 }); 179 });
176 }, 180 },
177 rightButtonColumn: buttons, 181 rightButtonColumn: buttons,
182 + topInfo: topInfo,
178 video: currentVideo, 183 video: currentVideo,
179 ); 184 );
180 return currentVideo; 185 return currentVideo;
......
1 import 'package:flutter/material.dart'; 1 import 'package:flutter/material.dart';
2 import 'package:tapped/tapped.dart'; 2 import 'package:tapped/tapped.dart';
3 3
4 -import 'select_text.dart';
5 -
6 class TikTokHeader extends StatefulWidget { 4 class TikTokHeader extends StatefulWidget {
7 final Function? onSearch; 5 final Function? onSearch;
8 const TikTokHeader({ 6 const TikTokHeader({
...@@ -18,28 +16,7 @@ class _TikTokHeaderState extends State<TikTokHeader> { ...@@ -18,28 +16,7 @@ class _TikTokHeaderState extends State<TikTokHeader> {
18 int currentSelect = 0; 16 int currentSelect = 0;
19 @override 17 @override
20 Widget build(BuildContext context) { 18 Widget build(BuildContext context) {
21 - List<String> list = ['推荐', '本地'];
22 - List<Widget> headList = [];
23 - for (var i = 0; i < list.length; i++) {
24 - headList.add(Expanded(
25 - child: GestureDetector(
26 - child: SelectText(
27 - title: list[i],
28 - isSelect: i == currentSelect,
29 - ),
30 - onTap: () {
31 - setState(() {
32 - currentSelect = i;
33 - });
34 - },
35 - ),
36 - ));
37 - }
38 - Widget headSwitch = Row(
39 - children: headList,
40 - );
41 return Container( 19 return Container(
42 - // color: Colors.black.withOpacity(0.3),
43 padding: const EdgeInsets.symmetric(horizontal: 16), 20 padding: const EdgeInsets.symmetric(horizontal: 16),
44 child: Row( 21 child: Row(
45 mainAxisAlignment: MainAxisAlignment.center, 22 mainAxisAlignment: MainAxisAlignment.center,
...@@ -59,14 +36,6 @@ class _TikTokHeaderState extends State<TikTokHeader> { ...@@ -59,14 +36,6 @@ class _TikTokHeaderState extends State<TikTokHeader> {
59 ), 36 ),
60 ), 37 ),
61 Expanded( 38 Expanded(
62 - flex: 1,
63 - child: Container(
64 - color: Colors.black.withOpacity(0),
65 - alignment: Alignment.center,
66 - child: headSwitch,
67 - ),
68 - ),
69 - Expanded(
70 child: Tapped( 39 child: Tapped(
71 child: Container( 40 child: Container(
72 color: Colors.black.withOpacity(0), 41 color: Colors.black.withOpacity(0),
......
1 +import 'package:flutter/material.dart';
2 +import 'package:one_poem/tiktok/style/style.dart';
3 +
4 +class TikTokTopInfoColumn extends StatelessWidget {
5 + final double? bottomPadding;
6 + final String? info;
7 + const TikTokTopInfoColumn({
8 + Key? key,
9 + this.bottomPadding, this.info,
10 + }) : super(key: key);
11 +
12 + @override
13 + Widget build(BuildContext context) {
14 + return Container(
15 + width: SysSize.avatar,
16 + margin: EdgeInsets.only(
17 + bottom: bottomPadding ?? 50,
18 + right: 12,
19 + ),
20 + child: Column(
21 + mainAxisAlignment: MainAxisAlignment.end,
22 + crossAxisAlignment: CrossAxisAlignment.end,
23 + children: <Widget>[
24 + // Tapped(
25 + // child: const TikTokAvatar(),
26 + // onTap: onAvatar,
27 + // ),
28 + Text(info ?? "早安"),
29 + Container(
30 + width: SysSize.avatar,
31 + height: SysSize.avatar,
32 + margin: const EdgeInsets.only(top: 10),
33 + decoration: BoxDecoration(
34 + borderRadius: BorderRadius.circular(SysSize.avatar / 2.0),
35 + // color: Colors.black.withOpacity(0.8),
36 + ),
37 + )
38 + ],
39 + ),
40 + );
41 + }
42 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -18,6 +18,7 @@ class TikTokVideoPage extends StatelessWidget { ...@@ -18,6 +18,7 @@ class TikTokVideoPage extends StatelessWidget {
18 final double bottomPadding; 18 final double bottomPadding;
19 19
20 final Widget? rightButtonColumn; 20 final Widget? rightButtonColumn;
21 + final Widget? topInfo;
21 final Widget? userInfoWidget; 22 final Widget? userInfoWidget;
22 23
23 final bool hidePauseIcon; 24 final bool hidePauseIcon;
...@@ -30,6 +31,7 @@ class TikTokVideoPage extends StatelessWidget { ...@@ -30,6 +31,7 @@ class TikTokVideoPage extends StatelessWidget {
30 this.bottomPadding = 16, 31 this.bottomPadding = 16,
31 this.tag, 32 this.tag,
32 this.rightButtonColumn, 33 this.rightButtonColumn,
34 + this.topInfo,
33 this.userInfoWidget, 35 this.userInfoWidget,
34 this.onAddFavorite, 36 this.onAddFavorite,
35 this.onSingleTap, 37 this.onSingleTap,
...@@ -90,6 +92,12 @@ class TikTokVideoPage extends StatelessWidget { ...@@ -90,6 +92,12 @@ class TikTokVideoPage extends StatelessWidget {
90 Container( 92 Container(
91 height: double.infinity, 93 height: double.infinity,
92 width: double.infinity, 94 width: double.infinity,
95 + alignment: Alignment.topCenter,
96 + child: topInfo,
97 + ),
98 + Container(
99 + height: double.infinity,
100 + width: double.infinity,
93 alignment: Alignment.bottomRight, 101 alignment: Alignment.bottomRight,
94 child: rightButtons, 102 child: rightButtons,
95 ), 103 ),
......
...@@ -31,24 +31,24 @@ class TikTokButtonColumn extends StatelessWidget { ...@@ -31,24 +31,24 @@ class TikTokButtonColumn extends StatelessWidget {
31 mainAxisAlignment: MainAxisAlignment.end, 31 mainAxisAlignment: MainAxisAlignment.end,
32 crossAxisAlignment: CrossAxisAlignment.end, 32 crossAxisAlignment: CrossAxisAlignment.end,
33 children: <Widget>[ 33 children: <Widget>[
34 - Tapped( 34 + // Tapped(
35 - child: const TikTokAvatar(), 35 + // child: const TikTokAvatar(),
36 - onTap: onAvatar, 36 + // onTap: onAvatar,
37 - ), 37 + // ),
38 - FavoriteIcon( 38 + // FavoriteIcon(
39 - onFavorite: onFavorite, 39 + // onFavorite: onFavorite,
40 - isFavorite: isFavorite, 40 + // isFavorite: isFavorite,
41 - ), 41 + // ),
42 - _IconButton( 42 + // _IconButton(
43 - icon: const IconToText(Icons.mode_comment, size: SysSize.iconBig - 4), 43 + // icon: const IconToText(Icons.mode_comment, size: SysSize.iconBig - 4),
44 - text: '4213', 44 + // text: '4213',
45 - onTap: onComment, 45 + // onTap: onComment,
46 - ), 46 + // ),
47 - _IconButton( 47 + // _IconButton(
48 - icon: const IconToText(Icons.share, size: SysSize.iconBig), 48 + // icon: const IconToText(Icons.share, size: SysSize.iconBig),
49 - text: '346', 49 + // text: '346',
50 - onTap: onShare, 50 + // onTap: onShare,
51 - ), 51 + // ),
52 Container( 52 Container(
53 width: SysSize.avatar, 53 width: SysSize.avatar,
54 height: SysSize.avatar, 54 height: SysSize.avatar,
......