ui_image_picker
ui_image_picker 模块提供图片选择器组件,支持从图片列表中选择指定图片。
Class Summary
OHOS::UIImagePicker
图片选择器,多张图片可放入滑动列表中选择,选中图片放大显示。
- 构造:无
-
成员函数:
接口名称 功能简述 GetViewType 获取视图类型 OnPreDraw 绘制前回调,判断是否需要跳过绘制 SetValues 通过字符串数组设置图片选择器的图片数据 SetSelectedValues 通过字符串数组设置图片选择器中选中图片的数据 ClearValues 清除图片选择器中的所有数据 SetSelected 设置当前选中项的索引 GetSelected 获取当前选中项的索引 SetItemHeight 设置图片选择器中每项的高度 SetItemWidth 设置图片选择器中每项的宽度 SetWidth 设置组件宽度 SetHeight 设置组件高度 SetLoopState 设置图片选择器是否可循环滑动 GetLoopState 获取图片选择器是否可循环滑动 RegisterSelectedListener 注册选中监听器 Refresh 刷新当前视图 -
使用包含头文件:
#include "components/ui_image_picker.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/ui_image_picker.h - 公有运算符:无
- 继承关系:UIViewGroup
- 嵌套类型:SelectedListener
- 模板形参:无
Functions
OHOS::UIImagePicker
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取当前视图的类型标识
- 设计目的:为视图类型判断提供统一接口,支持运行时类型识别
- 使用场景:视图类型分发、条件渲染、调试输出等需要区分视图类型的场景
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_IMAGE_PICKER | 当前对象为 UIImagePicker 类型 |
OnPreDraw
virtual bool OnPreDraw(Rect& invalidatedArea) const override
功能说明
- 核心用途:在绘制前判断是否需要跳过当前绘制操作
- 设计目的:为视图提供绘制前拦截能力,避免无效绘制
- 使用场景:视图绘制流程中的前置判断,当返回 false 时继续绘制,返回 true 时跳过绘制
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| invalidatedArea | Rect& | 需要重绘的矩形区域,入参引用,不修改所指对象 | 有效矩形区域 |
返回值
- 返回类型:
bool
返回是否跳过绘制
| 返回值 | 触发场景 |
|---|---|
| false(0) | 继续执行绘制操作 |
SetValues
bool SetValues(const char* value[], uint16_t count)
功能说明
- 核心用途:通过字符串数组设置图片选择器的图片数据路径
- 设计目的:将图片路径列表填充到图片选择器中,供用户滑动选择
- 使用场景:初始化图片选择器内容或更换图片数据集
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| value | const char*[] | 图片数据路径数组,入参指针,不可为 nullptr | 有效路径字符串数组 |
| count | uint16_t | 数组大小 | 0 ~ 65535 |
返回值
- 返回类型:
bool
返回设置结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 设置成功 |
| false(0) | 设置失败 |
SetSelectedValues
bool SetSelectedValues(const char* selectedValue[], uint16_t selectedCount)
功能说明
- 核心用途:通过字符串数组设置图片选择器中选中图片的数据路径
- 设计目的:为选中状态的图片设置单独的路径数据,实现选中放大等差异化显示
- 使用场景:需要区分选中与未选中图片显示效果的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| selectedValue | const char*[] | 选中图片数据路径数组,入参指针,不可为 nullptr | 有效路径字符串数组 |
| selectedCount | uint16_t | 数组大小 | 0 ~ 65535 |
返回值
- 返回类型:
bool
返回设置结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 设置成功 |
| false(0) | 设置失败 |
ClearValues
void ClearValues()
功能说明
- 核心用途:清除图片选择器中的所有图片数据
- 设计目的:提供一键清空数据的能力,便于重置选择器状态
- 使用场景:重置图片选择器内容、切换数据集前清空旧数据
SetSelected
void SetSelected(uint16_t index)
功能说明
- 核心用途:设置图片选择器中当前选中项的索引
- 设计目的:通过索引定位选中项,驱动选中放大显示效果
- 使用场景:程序化选中指定图片、响应外部切换选中项
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 要设置的选中项索引 | 0 ~ 数据总数 - 1 |
GetSelected
uint16_t GetSelected()
功能说明
- 核心用途:获取图片选择器中当前选中项的索引
- 设计目的:查询当前选中位置,供外部逻辑使用
- 使用场景:获取用户当前选择、联动其他组件、状态同步
返回值
- 返回类型:
uint16_t
返回当前选中项的索引
| 返回值 | 触发场景 |
|---|---|
| 索引值(0 ~ 65535) | 当前选中项的索引位置 |
SetItemHeight
void SetItemHeight(int16_t height)
功能说明
- 核心用途:设置图片选择器中每一项的高度
- 设计目的:控制滑动列表中各图片项的垂直尺寸
- 使用场景:调整图片项显示大小、适配不同屏幕布局
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 每项的高度值 | 正整数 |
SetItemWidth
void SetItemWidth(int16_t width)
功能说明
- 核心用途:设置图片选择器中每一项的宽度
- 设计目的:控制滑动列表中各图片项的水平尺寸
- 使用场景:调整图片项显示大小、适配不同屏幕布局
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 每项的宽度值 | 正整数 |
SetWidth
virtual void SetWidth(int16_t width) override
功能说明
- 核心用途:设置图片选择器组件的整体宽度
- 设计目的:重写基类方法,在设置宽度时同步更新内部布局
- 使用场景:初始化组件尺寸、动态调整组件宽度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 组件宽度值 | 正整数 |
SetHeight
virtual void SetHeight(int16_t height) override
功能说明
- 核心用途:设置图片选择器组件的整体高度
- 设计目的:重写基类方法,在设置高度时同步更新内部布局
- 使用场景:初始化组件尺寸、动态调整组件高度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 组件高度值 | 正整数 |
SetLoopState
void SetLoopState(bool state)
功能说明
- 核心用途:设置图片选择器是否支持循环滑动
- 设计目的:控制滑动到首尾时是否循环切换,默认不可循环
- 使用场景:需要无限循环浏览图片的场景或限制为单向滑动场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| state | bool | 是否可循环滑动 | true:可循环;false:不可循环(默认) |
GetLoopState
bool GetLoopState()
功能说明
- 核心用途:获取图片选择器是否支持循环滑动
- 设计目的:查询当前循环状态,供外部逻辑判断
- 使用场景:条件判断、状态显示、联动控制
返回值
- 返回类型:
bool
返回循环滑动状态
| 返回值 | 触发场景 |
|---|---|
| true(1) | 图片选择器可循环滑动 |
| false(0) | 图片选择器不可循环滑动 |
RegisterSelectedListener
void RegisterSelectedListener(SelectedListener* pickerListener)
功能说明
- 核心用途:注册图片选择器的选中监听器
- 设计目的:当滑动停止并选中某项时触发回调,通知外部选中变化
- 使用场景:需要在用户选中图片后执行业务逻辑的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| pickerListener | SelectedListener* | 选中监听器指针,入参指针,由调用方管理生命周期 | 有效指针或 nullptr |
Refresh
void Refresh()
功能说明
- 核心用途:刷新图片选择器当前视图
- 设计目的:在数据或状态变更后触发视图重绘,确保显示与数据一致
- 使用场景:动态修改图片数据后需要更新显示