Browse Source

优化广场功能

ios
王子贤 2 months ago
parent
commit
9efc982b15
6 changed files with 164 additions and 7 deletions
  1. 54
      lib/pages/home/send_timeline.dart
  2. 50
      lib/pages/home/timeline_info.dart
  3. 49
      lib/pages/home/timeline_item.dart
  4. 10
      lib/pages/home/timeline_page.dart
  5. 2
      lib/pages/home/timeline_window.dart
  6. 6
      lib/pages/home/user_information_page.dart

54
lib/pages/home/send_timeline.dart

@ -236,7 +236,7 @@ class _SendTimelineState extends State<SendTimeline> {
final ImagePicker picker = ImagePicker();
final List<XFile>? image = await picker.pickMultiImage(limit: 9 - imgList.length);
if (image != null) {
if (image != null && image.isNotEmpty) {
final futures = image.map((e){
return processSelectedMoreImage(File(e.path));
});
@ -529,6 +529,23 @@ class _SendTimelineState extends State<SendTimeline> {
width: 341.w,
height: 341.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 341.w,
height: 341.w,
fit: BoxFit.cover,
),
),
Positioned(
left: 5.w,
@ -543,6 +560,7 @@ class _SendTimelineState extends State<SendTimeline> {
child: Icon(
Icons.close,
size: 20.w,
color: Colors.white,
),
).onTap((){
imgList.clear();
@ -564,6 +582,23 @@ class _SendTimelineState extends State<SendTimeline> {
width: 165.w,
height: 165.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 165.w,
height: 165.w,
fit: BoxFit.cover,
),
),
Positioned(
left: 5.w,
@ -603,6 +638,23 @@ class _SendTimelineState extends State<SendTimeline> {
width: 105.w,
height: 105.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 105.w,
height: 105.w,
fit: BoxFit.cover,
),
),
Positioned(
left: 5.w,

50
lib/pages/home/timeline_info.dart

@ -185,6 +185,23 @@ class TimelineInfo extends StatelessWidget {
width: 341.w,
height: 341.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 341.w,
height: 341.w,
fit: BoxFit.cover,
),
),
if(controller.imgList.length == 2) Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -195,6 +212,23 @@ class TimelineInfo extends StatelessWidget {
width: 165.w,
height: 165.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 165.w,
height: 165.w,
fit: BoxFit.cover,
),
);
}),
],
@ -209,6 +243,22 @@ class TimelineInfo extends StatelessWidget {
width: 105.w,
height: 105.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 105.w,
height: 105.w,
fit: BoxFit.cover,
),
);
}),
],

49
lib/pages/home/timeline_item.dart

@ -223,6 +223,22 @@ class _TimelineItemState extends State<TimelineItem> {
width: 341.w,
height: 341.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 341.w,
height: 341.w,
fit: BoxFit.cover,
),
),
if(imgList.length == 2) Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -233,6 +249,22 @@ class _TimelineItemState extends State<TimelineItem> {
width: 165.w,
height: 165.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 165.w,
height: 165.w,
fit: BoxFit.cover,
),
);
}),
],
@ -247,6 +279,22 @@ class _TimelineItemState extends State<TimelineItem> {
width: 105.w,
height: 105.w,
fit: BoxFit.cover,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
errorWidget: (context, url, error) => Image.asset(
Assets.imagesUserAvatar,
width: 105.w,
height: 105.w,
fit: BoxFit.cover,
),
);
}),
],
@ -298,7 +346,6 @@ class _TimelineItemState extends State<TimelineItem> {
),
).onTap((){
Get.to(() => TimelineInfo(id: widget.item.id ?? "",))?.then((e){
print(12121212121212);
widget.item.likeCount = e.likeCount;
widget.item.isLiked = e.isLiked;
widget.item.commentCount = e.commentCount;

10
lib/pages/home/timeline_page.dart

@ -37,6 +37,11 @@ class _TimelinePageState extends State<TimelinePage>
builder: (controller) {
return Stack(
children: [
Positioned.fill(
child: Container(
color: Colors.white,
),
),
// -
Image.asset(
Assets.imagesBgInformation,
@ -53,11 +58,12 @@ class _TimelinePageState extends State<TimelinePage>
// 使 IndexedStack
return IndexedStack(
index: controller.topTab.value,
children: const [
children: [
// //
// RecommendWindow(),
//
TimelineWindow(),
const TimelineWindow(),
Container()
],
);
}),

2
lib/pages/home/timeline_window.dart

@ -21,7 +21,7 @@ class _TimelineWindowState extends State<TimelineWindow> with AutomaticKeepAlive
@override
void initState() {
super.initState();
print(111);
tabController = TabController(length: 2, vsync: this);
}

6
lib/pages/home/user_information_page.dart

@ -102,7 +102,7 @@ class UserInformationPage extends StatelessWidget {
),
Positioned(
left: 120.w,
top: 310.w,
top: miId != GlobalData().userData!.id ? 290.w : 310.w,
width: 240.w,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
@ -195,7 +195,9 @@ class UserInformationPage extends StatelessWidget {
children: [
Container(
width: 375.w,
height: 812.h,
constraints: BoxConstraints(
minHeight: 812.h,
),
padding: EdgeInsets.only(
top: 31.w,
left: 15.w,

Loading…
Cancel
Save