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