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ên | Mô tả | Tham số | Bắt buộc |
---|---|---|---|
threadId | Tham số xác định id của cuộc hội thoại | ✓ | |
type | Tham số xác định type của media | ✓ | |
onBackPress | Hàm gọi lại khi cần back về màn trước | ✗ | |
onViewMessage | Hàm gọi lại khi cần xem message trong cuộc hội thoại | messageId : Tham số xác định id của message | ✗ |
onUrlPress | Hàm gọi lại khi user nhấn vào link | url : Tham số link | ✗ |
onViewFilePress | Hàm gọi lại khi user nhấn vào file | filePath : Tham số xác định path của file | ✗ |
onMediaPress | Hàm gọi lại khi user nhấn vào file media | listMedia : Tham số danh sách file mediaindex : 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.