reason

update tiktok background

......@@ -7,6 +7,7 @@ import 'package:one_poem/tiktok/pages/user_page.dart';
import 'package:one_poem/tiktok/style/physics.dart';
import 'package:one_poem/tiktok/views/tiktok_header.dart';
import 'package:one_poem/tiktok/views/tiktok_scaffold.dart';
import 'package:one_poem/tiktok/views/tiktok_top_info.dart';
import 'package:one_poem/tiktok/views/tiktok_video.dart';
import 'package:one_poem/tiktok/views/tiktok_video_button_column.dart';
import 'package:video_player/video_player.dart';
......@@ -142,6 +143,9 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
},
onShare: () {},
);
Widget topInfo = const TikTokTopInfoColumn(
info: "早安"
);
// video
Widget currentVideo = Center(
child: AspectRatio(
......@@ -175,6 +179,7 @@ class _PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
});
},
rightButtonColumn: buttons,
topInfo: topInfo,
video: currentVideo,
);
return currentVideo;
......
import 'package:flutter/material.dart';
import 'package:tapped/tapped.dart';
import 'select_text.dart';
class TikTokHeader extends StatefulWidget {
final Function? onSearch;
const TikTokHeader({
......@@ -18,28 +16,7 @@ class _TikTokHeaderState extends State<TikTokHeader> {
int currentSelect = 0;
@override
Widget build(BuildContext context) {
List<String> list = ['推荐', '本地'];
List<Widget> headList = [];
for (var i = 0; i < list.length; i++) {
headList.add(Expanded(
child: GestureDetector(
child: SelectText(
title: list[i],
isSelect: i == currentSelect,
),
onTap: () {
setState(() {
currentSelect = i;
});
},
),
));
}
Widget headSwitch = Row(
children: headList,
);
return Container(
// color: Colors.black.withOpacity(0.3),
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
......@@ -59,14 +36,6 @@ class _TikTokHeaderState extends State<TikTokHeader> {
),
),
Expanded(
flex: 1,
child: Container(
color: Colors.black.withOpacity(0),
alignment: Alignment.center,
child: headSwitch,
),
),
Expanded(
child: Tapped(
child: Container(
color: Colors.black.withOpacity(0),
......
import 'package:flutter/material.dart';
import 'package:one_poem/tiktok/style/style.dart';
class TikTokTopInfoColumn extends StatelessWidget {
final double? bottomPadding;
final String? info;
const TikTokTopInfoColumn({
Key? key,
this.bottomPadding, this.info,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
width: SysSize.avatar,
margin: EdgeInsets.only(
bottom: bottomPadding ?? 50,
right: 12,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
// Tapped(
// child: const TikTokAvatar(),
// onTap: onAvatar,
// ),
Text(info ?? "早安"),
Container(
width: SysSize.avatar,
height: SysSize.avatar,
margin: const EdgeInsets.only(top: 10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(SysSize.avatar / 2.0),
// color: Colors.black.withOpacity(0.8),
),
)
],
),
);
}
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ class TikTokVideoPage extends StatelessWidget {
final double bottomPadding;
final Widget? rightButtonColumn;
final Widget? topInfo;
final Widget? userInfoWidget;
final bool hidePauseIcon;
......@@ -30,6 +31,7 @@ class TikTokVideoPage extends StatelessWidget {
this.bottomPadding = 16,
this.tag,
this.rightButtonColumn,
this.topInfo,
this.userInfoWidget,
this.onAddFavorite,
this.onSingleTap,
......@@ -90,6 +92,12 @@ class TikTokVideoPage extends StatelessWidget {
Container(
height: double.infinity,
width: double.infinity,
alignment: Alignment.topCenter,
child: topInfo,
),
Container(
height: double.infinity,
width: double.infinity,
alignment: Alignment.bottomRight,
child: rightButtons,
),
......
......@@ -31,24 +31,24 @@ class TikTokButtonColumn extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Tapped(
child: const TikTokAvatar(),
onTap: onAvatar,
),
FavoriteIcon(
onFavorite: onFavorite,
isFavorite: isFavorite,
),
_IconButton(
icon: const IconToText(Icons.mode_comment, size: SysSize.iconBig - 4),
text: '4213',
onTap: onComment,
),
_IconButton(
icon: const IconToText(Icons.share, size: SysSize.iconBig),
text: '346',
onTap: onShare,
),
// Tapped(
// child: const TikTokAvatar(),
// onTap: onAvatar,
// ),
// FavoriteIcon(
// onFavorite: onFavorite,
// isFavorite: isFavorite,
// ),
// _IconButton(
// icon: const IconToText(Icons.mode_comment, size: SysSize.iconBig - 4),
// text: '4213',
// onTap: onComment,
// ),
// _IconButton(
// icon: const IconToText(Icons.share, size: SysSize.iconBig),
// text: '346',
// onTap: onShare,
// ),
Container(
width: SysSize.avatar,
height: SysSize.avatar,
......