friend_item.dart 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import 'package:abroad_location/data/bean/user_info.dart';
  2. import 'package:abroad_location/resource/assets.gen.dart';
  3. import 'package:abroad_location/resource/colors.gen.dart';
  4. import 'package:abroad_location/resource/string.gen.dart';
  5. import 'package:abroad_location/utils/base_expand.dart';
  6. import 'package:flutter/cupertino.dart';
  7. import 'package:flutter_screenutil/flutter_screenutil.dart';
  8. typedef OnFriendCallback = void Function(UserInfo userInfo);
  9. Widget locationFriendItem(UserInfo userInfo,
  10. {OnFriendCallback? onItemClick, OnFriendCallback? onTrackClick}) {
  11. return GestureDetector(
  12. onTap: (){
  13. onItemClick?.call(userInfo);
  14. },
  15. child: Container(
  16. height: 70.w,
  17. margin: EdgeInsets.symmetric(horizontal: 8.w),
  18. decoration: BoxDecoration(
  19. color: ColorName.white,
  20. borderRadius: BorderRadius.circular(20.w),
  21. ),
  22. child: Row(
  23. children: [
  24. SizedBox(width: 12.w),
  25. Container(
  26. //阴影,
  27. decoration: BoxDecoration(
  28. borderRadius: BorderRadius.circular(18.w),
  29. boxShadow: [
  30. BoxShadow(
  31. color: ColorName.black20.withOpacity(0.1),
  32. blurRadius: 5.w)
  33. ]),
  34. child: Assets.images.iconLocationMeAvatar.image(width: 44.w, height: 44.w)),
  35. SizedBox(width: 11.w),
  36. Expanded(
  37. child: IntrinsicHeight(
  38. child: Column(
  39. crossAxisAlignment: CrossAxisAlignment.start,
  40. children: [
  41. Row(children: [
  42. Text(userInfo.phoneNumber ?? '',
  43. style: TextStyle(
  44. fontSize: 16.sp,
  45. color: ColorName.black80,
  46. fontWeight: FontWeight.bold)),
  47. SizedBox(width: 5.w),
  48. Expanded(
  49. child: Text('1h',
  50. style: TextStyle(fontSize: 12.sp, color: ColorName.black40)),
  51. ),
  52. SizedBox(width: 5.w),
  53. ]),
  54. Text('Hong Kong',
  55. style: TextStyle(fontSize: 12.sp, color: ColorName.black50))
  56. ],
  57. ),
  58. ),
  59. ),
  60. GestureDetector(
  61. onTap: (){
  62. onTrackClick?.call(userInfo);
  63. },
  64. child: Container(
  65. decoration: BoxDecoration(
  66. borderRadius: BorderRadius.circular(10.w),
  67. border: Border.all(color: '#4476FF'.color, width: 1.w)),
  68. padding: EdgeInsets.only(
  69. left: 10.w, top: 5.w, bottom: 6.w, right: 10.w),
  70. child: Row(
  71. children: [
  72. Assets.images.iconTrack.image(width: 16.w, height: 16.w),
  73. SizedBox(width: 2.w),
  74. Text(
  75. StringName.historyTrace,
  76. style: TextStyle(
  77. fontSize: 14.sp,
  78. color: '#4476FF'.color,
  79. fontWeight: FontWeight.w500),
  80. )
  81. ],
  82. ),
  83. ),
  84. ),
  85. SizedBox(width: 12.w)
  86. ],
  87. ),
  88. ),
  89. );
  90. }