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