| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/src/widgets/framework.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:get/get.dart';
- import 'package:get/get_core/src/get_main.dart';
- import 'package:location/base/base_page.dart';
- import 'package:location/resource/assets.gen.dart';
- import 'package:location/resource/colors.gen.dart';
- import 'package:location/resource/string.gen.dart';
- import 'package:location/utils/common_expand.dart';
- import '../../router/app_pages.dart';
- import '../../widget/common_view.dart';
- import 'friend_controller.dart';
- import 'friend_list_item.dart';
- class FriendPage extends BasePage<FriendController> {
- const FriendPage({super.key});
- static void start() {
- Get.toNamed(RoutePath.friend);
- }
- @override
- bool immersive() {
- return true;
- }
- @override
- Color backgroundColor() {
- return '#F7F7F7'.color;
- }
- @override
- Widget buildBody(BuildContext context) {
- return Stack(
- children: [
- Assets.images.bgPageBackground.image(width: double.infinity),
- Positioned(
- top: 24.w,
- right: 19.w,
- child: SafeArea(child: Obx(() {
- return Opacity(
- opacity: 1 - controller.opacity,
- child: Assets.images.iconGuard.image(width: 118.w));
- }))),
- SafeArea(
- child: Column(
- children: [
- buildHeadView(),
- Expanded(
- child: Obx(() {
- return ListView(
- controller: controller.scrollController,
- children: [
- SizedBox(height: 18.w),
- Padding(
- padding: EdgeInsets.only(left: 12.w),
- child: Text(StringName.friendTitle,
- style: TextStyle(
- fontSize: 16.sp,
- color: ColorName.black90,
- fontWeight: FontWeight.bold)),
- ),
- SizedBox(height: 10.w),
- Obx(() {
- return buildFriendItem(controller.mineUserInfo);
- }),
- Obx(() {
- return controller.virtualFriendInfo == null
- ? SizedBox.shrink()
- : buildFriendItem(controller.virtualFriendInfo!);
- }),
- ...controller.friendsList.map((e) => Obx(() {
- return buildFriendItem(e);
- }))
- ],
- );
- }),
- )
- ],
- ),
- )
- ],
- );
- }
- Widget buildHeadView() {
- return Container(
- margin: EdgeInsets.symmetric(horizontal: 12.w, vertical: 14.w),
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.center,
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- GestureDetector(
- onTap: controller.back, child: CommonView.getBackBtnView()),
- Obx(() {
- return Opacity(
- opacity: controller.opacity,
- child: Text(StringName.friendTitle,
- style: TextStyle(
- fontSize: 16.sp,
- color: ColorName.black90,
- fontWeight: FontWeight.bold)),
- );
- }),
- GestureDetector(
- onTap: controller.newsClick,
- child:
- Assets.images.iconFriendNews.image(width: 24.w, height: 24.w))
- ],
- ),
- );
- }
- }
|