diff --git a/lib/screens/activity_list_screen.dart b/lib/screens/activity_list_screen.dart index 9def0c6..b41c821 100644 --- a/lib/screens/activity_list_screen.dart +++ b/lib/screens/activity_list_screen.dart @@ -3,6 +3,8 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; import 'publish_screen.dart'; import 'activity_detail_screen.dart'; import 'friends_screen.dart'; +import 'messages_screen.dart'; +import 'profile_screen.dart'; class ActivityListScreen extends StatefulWidget { @override @@ -11,7 +13,8 @@ class ActivityListScreen extends StatefulWidget { class _ActivityListScreenState extends State { int _selectedIndex = 0; - + final _feedKey = GlobalKey(); + // 模拟活动数据 final List> activities = [ { @@ -65,14 +68,16 @@ class _ActivityListScreenState extends State { ]; Future _refreshActivities() async { - await Future.delayed(Duration(seconds: 1)); if (!mounted) return; - setState(() {}); + setState(() { + activities.shuffle(); + }); + await Future.delayed(const Duration(milliseconds: 200)); } void _onItemTapped(int index) { if (index == 0 && _selectedIndex == 0) { - _refreshActivities(); + _feedKey.currentState?.show(); return; } if (index == 2) { @@ -90,6 +95,14 @@ class _ActivityListScreenState extends State { ); return; } + if (index == 3 || index == 4) { + if (_selectedIndex != index) { + setState(() { + _selectedIndex = index; + }); + } + return; + } if (_selectedIndex != index) { setState(() { _selectedIndex = index; @@ -123,7 +136,19 @@ class _ActivityListScreenState extends State { } Widget _buildBody() { + switch (_selectedIndex) { + case 3: + return const MessagesScreen(); + case 4: + return const ProfileScreen(); + default: + return _buildFeed(); + } + } + + Widget _buildFeed() { return RefreshIndicator( + key: _feedKey, onRefresh: _refreshActivities, child: Padding( padding: EdgeInsets.all(12), diff --git a/pubspec.yaml b/pubspec.yaml index 15270bc..18391c2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: banxiang_app description: 伴享 -version: 1.1.4+6 +version: 1.1.5+7 environment: sdk: '>=3.0.0 <4.0.0' diff --git a/releases/banxiang-v1.1.5+7.apk b/releases/banxiang-v1.1.5+7.apk new file mode 100644 index 0000000..f88a2f5 Binary files /dev/null and b/releases/banxiang-v1.1.5+7.apk differ