跳转至

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()

功能说明

  • 核心用途:刷新图片选择器当前视图
  • 设计目的:在数据或状态变更后触发视图重绘,确保显示与数据一致
  • 使用场景:动态修改图片数据后需要更新显示