From 4a0675f1b74ebdb9f377b87b9bae26fa5d3bb950 Mon Sep 17 00:00:00 2001 From: laiiihz Date: Sat, 17 Oct 2020 15:52:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E7=95=8C=E9=9D=A2=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=8C=E7=94=A8=E6=88=B7=E7=95=8C=E9=9D=A2=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/live/live_stream/live_page.dart | 47 ++++++++++++++++++- .../user_home/user_activity_view.dart | 40 ++++++++++++---- .../user_home/user_playback_view.dart | 32 ++++++++++--- lib/pages/live/sub_page/user_home_page.dart | 4 +- 4 files changed, 105 insertions(+), 18 deletions(-) diff --git a/lib/pages/live/live_stream/live_page.dart b/lib/pages/live/live_stream/live_page.dart index bb66b00..e313aa9 100644 --- a/lib/pages/live/live_stream/live_page.dart +++ b/lib/pages/live/live_stream/live_page.dart @@ -97,6 +97,20 @@ class _LivePageState extends State { }, ), ), + AnimatedPositioned( + left: _isStream ? -100 : rSize(15), + child: IconButton( + icon: Icon( + Icons.clear, + color: Colors.white, + ), + onPressed: () { + Navigator.pop(context); + }, + ), + duration: Duration(milliseconds: 250), + top: MediaQuery.of(context).viewPadding.top + rSize(15), + ), AnimatedPositioned( duration: Duration(milliseconds: 200), right: 0, @@ -114,7 +128,29 @@ class _LivePageState extends State { elevation: 0, padding: EdgeInsets.zero, child: _imageFile == null - ? Icon(Icons.camera_alt) + ? Stack( + children: [ + FadeInImage.assetNetwork( + placeholder: + R.ASSETS_PLACEHOLDER_NEW_1X1_A_PNG, + image: Api.getImgUrl(UserManager + .instance.user.info.headImgUrl), + height: rSize(68), + width: rSize(68), + ), + Positioned( + left: 0, + right: 0, + top: 0, + bottom: 0, + child: Container( + alignment: Alignment.center, + color: Colors.black.withOpacity(0.1), + child: Icon(Icons.camera_alt), + ), + ), + ], + ) : Image.file( _imageFile, height: rSize(68), @@ -154,8 +190,17 @@ class _LivePageState extends State { children: [ TextField( controller: _editingController, + style: TextStyle( + color: Colors.white.withOpacity(0.8), + fontSize: rSP(14), + ), decoration: InputDecoration( border: InputBorder.none, + suffixIcon: Icon(Icons.edit), + suffixIconConstraints: BoxConstraints( + minWidth: 0, + minHeight: 0, + ), ), ), rHBox(8), diff --git a/lib/pages/live/sub_page/user_home/user_activity_view.dart b/lib/pages/live/sub_page/user_home/user_activity_view.dart index 50521c5..82a0cce 100644 --- a/lib/pages/live/sub_page/user_home/user_activity_view.dart +++ b/lib/pages/live/sub_page/user_home/user_activity_view.dart @@ -1,10 +1,13 @@ import 'package:flutter/material.dart'; import 'package:recook/constants/api.dart'; +import 'package:recook/constants/header.dart'; import 'package:recook/manager/http_manager.dart'; +import 'package:recook/manager/user_manager.dart'; import 'package:recook/pages/live/models/activity_list_model.dart'; import 'package:recook/pages/live/models/live_base_info_model.dart'; import 'package:recook/pages/live/widget/user_activity_card.dart'; import 'package:recook/widgets/refresh_widget.dart'; +import 'package:recook/const/resource.dart'; class UserActivityView extends StatefulWidget { final int id; @@ -26,6 +29,7 @@ class _UserActivityViewState extends State List activityListModels = []; int _page = 1; GSRefreshController _controller = GSRefreshController(); + bool get selfFlag => widget.id == UserManager.instance.user.info.id; @override void initState() { super.initState(); @@ -66,16 +70,32 @@ class _UserActivityViewState extends State _controller.loadComplete(); }); }, - body: ListView.builder( - itemBuilder: (context, index) { - return UserActivityCard( - model: activityListModels[index], - userModel: widget.userModel, - initAttention: widget.initAttention, - ); - }, - itemCount: activityListModels.length, - ), + body: activityListModels.isEmpty + ? Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Image.asset(R.ASSETS_IMG_NO_DATA_PNG), + Text( + selfFlag ? '您还未发布过动态' : 'TA还未发布过动态', + style: TextStyle( + color: Color(0xFF333333), + fontSize: rSP(16), + ), + ), + ], + ), + ) + : ListView.builder( + itemBuilder: (context, index) { + return UserActivityCard( + model: activityListModels[index], + userModel: widget.userModel, + initAttention: widget.initAttention, + ); + }, + itemCount: activityListModels.length, + ), ); } diff --git a/lib/pages/live/sub_page/user_home/user_playback_view.dart b/lib/pages/live/sub_page/user_home/user_playback_view.dart index 9c4c4a4..4fb1374 100644 --- a/lib/pages/live/sub_page/user_home/user_playback_view.dart +++ b/lib/pages/live/sub_page/user_home/user_playback_view.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import 'package:recook/constants/api.dart'; +import 'package:recook/constants/header.dart'; import 'package:recook/manager/http_manager.dart'; +import 'package:recook/manager/user_manager.dart'; import 'package:recook/pages/live/models/activity_video_list_model.dart'; import 'package:recook/pages/live/widget/user_live_playback_card.dart'; import 'package:recook/widgets/refresh_widget.dart'; @@ -18,6 +20,8 @@ class _UserPlaybackViewState extends State GSRefreshController _controller = GSRefreshController(); int _page = 1; List _videoModels = []; + bool get selfFlag => widget.userId == UserManager.instance.user.info.id; + @override void initState() { super.initState(); @@ -58,12 +62,28 @@ class _UserPlaybackViewState extends State _controller.loadComplete(); }); }, - body: ListView.builder( - itemBuilder: (context, index) { - return UserPlaybackCard(model: _videoModels[index]); - }, - itemCount: _videoModels.length, - ), + body: _videoModels.isEmpty + ? Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Image.asset(R.ASSETS_IMG_NO_DATA_PNG), + Text( + selfFlag ? '您没有直播记录' : 'TA没有直播记录', + style: TextStyle( + color: Color(0xFF333333), + fontSize: rSP(16), + ), + ), + ], + ), + ) + : ListView.builder( + itemBuilder: (context, index) { + return UserPlaybackCard(model: _videoModels[index]); + }, + itemCount: _videoModels.length, + ), ); } diff --git a/lib/pages/live/sub_page/user_home_page.dart b/lib/pages/live/sub_page/user_home_page.dart index e326934..d1a5bb7 100644 --- a/lib/pages/live/sub_page/user_home_page.dart +++ b/lib/pages/live/sub_page/user_home_page.dart @@ -86,6 +86,7 @@ class _UserHomePageState extends State padding: EdgeInsets.fromLTRB( rSize(15), rSize(80), rSize(15), rSize(20)), child: Column( + mainAxisAlignment: MainAxisAlignment.end, children: [ Row( children: [ @@ -132,7 +133,7 @@ class _UserHomePageState extends State ), ], ), - Spacer(), + rHBox(20), Padding( padding: EdgeInsets.symmetric( horizontal: rSize(70), @@ -220,6 +221,7 @@ class _UserHomePageState extends State style: TextStyle( color: Color(0xFF333333), fontSize: rSP(18), + fontWeight: FontWeight.bold, ), ), SizedBox(height: rSize(6)),