1# @ohos.file.AlbumPickerComponent (Album Picker组件) 2 3应用可以在布局中嵌入AlbumPickerComponent组件,通过此组件,应用无需申请权限,即可访问公共目录中的相册列表。 4 5需配合[PhotoPickerComponent](ohos-file-PhotoPickerComponent.md)一起使用,用户通过AlbumPickerComponent组件选择对应相册并通知PhotoPickerComponent组件刷新成对应相册的图片和视频。 6 7> **说明:** 8> 9> 该组件从API version 12开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 10 11## 导入模块 12 13```ts 14import { AlbumPickerComponent, AlbumPickerOptions, AlbumInfo, photoAccessHelper, EmptyAreaClickCallback } from '@kit.MediaLibraryKit'; 15``` 16 17## 属性 18 19支持[通用属性](../apis-arkui/arkui-ts/ts-component-general-attributes.md)。 20 21## AlbumPickerComponent 22 23AlbumPickerComponent({ 24 albumPickerOptions?: AlbumPickerOptions, 25 onAlbumClick?: (albumInfo: AlbumInfo) => boolean, 26 onEmptyAreaClick?: EmptyAreaClickCallback 27}) 28 29应用可以在布局中嵌入AlbumPickerComponent组件,通过此组件,应用无需申请权限,即可访问公共目录中的相册列表。 30 31**装饰器类型**:@Component 32 33**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 34 35**参数:** 36 37| 名称 | 类型 | 必填 | 说明 | 38|--------------------|-----------------------------------------------------|-----|---------------------------------| 39| albumPickerOptions | [AlbumPickerOptions](#albumpickeroptions) | 否 | AlbumPicker的配置信息。<br> **原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 | 40| onAlbumClick | (albumInfo: [AlbumInfo](#albuminfo)) => boolean | 否 | 用户选择某个相册时产生的回调事件,将相册uri给到应用。<br> **原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 | 41| onEmptyAreaClick<sup>13+</sup> | [EmptyAreaClickCallback](#emptyareaclickcallback13) | 否 | 点击相册组件空白区域时产生的回调事件,将该次点击通知给应用。<br> **原子化服务API**:从API version 13开始,该接口支持在原子化服务中使用。 | 42 43## AlbumPickerOptions 44 45Album Picker配置选项。 46 47**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 48 49| 名称 | 类型 | 必填 | 说明 | 50|----------------|-------|-----|-------------------------------------------------------------| 51| themeColorMode | [PickerColorMode](ohos-file-PhotoPickerComponent.md#pickercolormode) | 否 | 相册页主题颜色,包括跟随系统、浅色模式以及深色模式,默认为跟随系统。 <br> **原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 | 52| filterType<sup>13+</sup> | [photoAccessHelper.PhotoViewMIMETypes](js-apis-photoAccessHelper.md#photoviewmimetypes) | 否 | 相册组件过滤参数,可筛选只显示图片、视频或者图片和视频。若未配置此参数,则某个具体相册中显示图片和视频类型的所有资源。<br> **原子化服务API**:从API version 13开始,该接口支持在原子化服务中使用。 | 53 54## EmptyAreaClickCallback<sup>13+</sup> 55 56type EmptyAreaClickCallback = () => void 57 58点击相册组件空白区域时产生的回调事件。 59 60**原子化服务API:** 从API version 13开始,该接口支持在原子化服务中使用。 61 62**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 63 64## AlbumInfo 65 66相册相关信息。 67 68**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 69 70**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 71 72| 名称 | 类型 | 必填 | 说明 | 73|------|------|-----|---------| 74| uri | string | 否 | 相册的uri。 | 75| albumName | string | 否 | 相册的名称。 | 76 77## 示例 78 79```ts 80// xxx.ets 81import { AlbumPickerComponent, AlbumPickerOptions, AlbumInfo, PickerColorMode, photoAccessHelper, EmptyAreaClickCallback } from '@kit.MediaLibraryKit'; 82 83@Entry 84@Component 85struct PickerDemo { 86 albumPickerOptions: AlbumPickerOptions = new AlbumPickerOptions(); 87 private emptyAreaClickCallback: EmptyAreaClickCallback = (): void => this.onEmptyAreaClick(); 88 89 aboutToAppear() { 90 this.albumPickerOptions.themeColorMode = PickerColorMode.AUTO; 91 this.albumPickerOptions.filterType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_VIDEO_TYPE; 92 } 93 94 private onAlbumClick(albumInfo: AlbumInfo): boolean { 95 if (albumInfo?.uri) { 96 // 通过pickerController向PhotoPickerComponent发送消息,通知其刷新。 97 } 98 if (albumInfo?.albumName) { 99 // 基于获取到的albumName后续逻辑处理。 100 } 101 return true; 102 } 103 104 private onEmptyAreaClick(): void { 105 // 点击组件空白区域回调。 106 } 107 108 build() { 109 Stack() { 110 AlbumPickerComponent({ 111 albumPickerOptions: this.albumPickerOptions, 112 onAlbumClick:(albumInfo: AlbumInfo): boolean => this.onAlbumClick(albumInfo), 113 onEmptyAreaClick: this.emptyAreaClickCallback, 114 }).height('100%').width('100%') 115 } 116 } 117} 118