Skip to main content

PSMediaCollections

Danh sách media trong cuộc hội thoại

Ví dụ

class MediaCollectionPage extends StatelessWidget {
final String threadId;
final PSMessageMetadataType type;

const MediaCollectionPage({
super.key,
required this.threadId,
required this.type,
});

@override
Widget build(BuildContext context) {
return PSScaffoldSafeArea(
child: PSMediaCollection(
type: type,
threadId: threadId,
navigation: PSMediaCollectionNavigationProvider(
onBackPress: () {},
onViewMessage: (int messageId) {},
onUrlPress: (String url) {},
onViewFilePress: (String filePath) {},
onMediaPress: (listMedia, index) {},
),
),
);
}
}

Các thành phần

class PSMediaCollectionNavigationProvider {
final Function()? onBackPress;
final Function(int messageId)? onViewMessage;
final Function(String url)? onUrlPress;
final Function(String filePath)? onViewFilePress;
final Function(List<PSMessageMediaModel> listMedia, int index)? onMediaPress;

PSMediaCollectionNavigationProvider({
this.onBackPress,
this.onViewMessage,
this.onUrlPress,
this.onViewFilePress,
this.onMediaPress,
});
}
TênMô tảTham sốBắt buộc
threadIdTham số xác định id của cuộc hội thoại
typeTham số xác định type của media
onBackPressHàm gọi lại khi cần back về màn trước
onViewMessageHàm gọi lại khi cần xem message trong cuộc hội thoạimessageId: Tham số xác định id của message
onUrlPressHàm gọi lại khi user nhấn vào linkurl: Tham số link
onViewFilePressHàm gọi lại khi user nhấn vào filefilePath: Tham số xác định path của file
onMediaPressHàm gọi lại khi user nhấn vào file medialistMedia: Tham số danh sách file media
index: Tham số xác định vị trí file hiện tại
Ghi chú

Một số chức năng sẽ không hoạt động hoặc không hoạt động đúng cách khi không khai báo những hàm gọi lại.