• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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