跳转至

ui_texture_mapper

ui_texture_mapper 模块提供纹理映射组件,支持图像纹理的缩放、旋转与动画映射。

Class Summary

OHOS::UITextureMapper

图像旋转与缩放动画控件,继承自 UIImageView

OHOS::UITextureMapper::AnimatorStopListener

动画停止事件监听器抽象基类,需继承实现 OnAnimatorStop 回调

  • 构造:无
  • 成员函数

    接口名称 功能简述
    OnAnimatorStop 动画停止时的回调函数
  • 使用包含头文件#include "components/ui_texture_mapper.h"

  • 声明头文件middleware/services/gui/uikit/ui/interfaces/kits/components/ui_texture_mapper.h
  • 公有运算符:无
  • 继承关系:HeapBase
  • 嵌套类型:无
  • 模板形参:无

Functions

OHOS::UITextureMapper

GetViewType

UIViewType GetViewType() const override

功能说明

  • 核心用途:获取当前视图的类型标识
  • 返回值为 UI_TEXTURE_MAPPER,用于区分 UITextureMapper 与其他 UIView 子类
  • 该函数为 const 成员函数,不修改对象状态

返回值

  • 返回类型:UIViewType

返回视图类型标识

返回值 触发场景
UI_TEXTURE_MAPPER(28) 当前对象为 UITextureMapper 实例

Start

void Start()

功能说明

  • 核心用途:启动图像旋转与缩放动画
  • 动画启动前需通过 SetRotateStart/SetRotateEnd、SetScaleStart/SetScaleEnd 设置动画起止参数
  • 动画启动后将以已配置的缓动函数、持续时间、延迟时间执行旋转和缩放

SetRotateStart

void SetRotateStart(int16_t start)

功能说明

  • 核心用途:设置图像旋转动画的起始角度
  • 默认起始角度为 0,若未调用此接口则从当前停止位置开始旋转
  • 该函数应在 Start 之前调用

入参

名称 参数类型 详细说明 约束取值范围
start int16_t 旋转起始角度 -360 ~ 360

SetRotateEnd

void SetRotateEnd(int16_t end)

功能说明

  • 核心用途:设置图像旋转动画的终止角度
  • 默认终止角度为 0
  • 该函数应在 Start 之前调用

入参

名称 参数类型 详细说明 约束取值范围
end int16_t 旋转终止角度 -360 ~ 360

SetScaleStart

void SetScaleStart(float start)

功能说明

  • 核心用途:设置图像缩放动画的起始比例
  • 默认起始比例为 1.0,X 与 Y 方向等比缩放,不支持单方向缩放
  • 该函数应在 Start 之前调用

入参

名称 参数类型 详细说明 约束取值范围
start float 缩放起始比例 > 0.0

SetScaleEnd

void SetScaleEnd(float end)

功能说明

  • 核心用途:设置图像缩放动画的终止比例
  • 默认终止比例为 1.0
  • 该函数应在 Start 之前调用

入参

名称 参数类型 详细说明 约束取值范围
end float 缩放终止比例 > 0.0

SetDurationTime

void SetDurationTime(uint16_t durationTime)

功能说明

  • 核心用途:设置动画持续时间,单位为毫秒
  • 旋转与缩放共享同一持续时间,不可分别设置
  • 实际动画总时长为 durationTime + delayTime

入参

名称 参数类型 详细说明 约束取值范围
durationTime uint16_t 动画持续时间(毫秒) 0 ~ 65535

SetDelayTime

void SetDelayTime(uint16_t delayTime)

功能说明

  • 核心用途:设置动画延迟时间,单位为毫秒
  • 旋转与缩放共享同一延迟时间,不可分别设置
  • 调用此接口会更新动画总时长

入参

名称 参数类型 详细说明 约束取值范围
delayTime uint16_t 动画延迟时间(毫秒) 0 ~ 65535

SetEasingFunc

void SetEasingFunc(EasingFunc easingFunc)

功能说明

  • 核心用途:设置动画缓动函数,控制动画速度变化曲线
  • 旋转与缩放共享同一缓动函数,不可分别设置
  • 默认缓动函数为线性匀速(EasingEquation::LinearEaseNone)

入参

名称 参数类型 详细说明 约束取值范围
easingFunc EasingFunc 缓动函数指针 EasingEquation 中定义的静态函数

Cancel

void Cancel()

功能说明

  • 核心用途:取消当前正在执行的动画
  • 动画将在当前播放帧位置停止,图像保持停止时的状态
  • 取消后不会触发 AnimatorStopListener 回调

Reset

void Reset()

功能说明

  • 核心用途:将图像重置为原始显示状态
  • 重置后图像恢复为未旋转、未缩放的原始外观
  • 已配置的动画参数(起止角度、缩放比例等)不会被清除,可再次调用 Start 执行

SetPivot

void SetPivot(float x, float y)

功能说明

  • 核心用途:设置旋转和缩放的中心点坐标
  • 坐标为相对于图像自身的位置,如图像中心点为 (width/2, height/2)
  • 旋转和缩放均围绕此中心点执行

入参

名称 参数类型 详细说明 约束取值范围
x float 中心点 x 坐标(相对于图像) 0.0 ~ 图像宽度
y float 中心点 y 坐标(相对于图像) 0.0 ~ 图像高度

SetAnimatorStopListener

void SetAnimatorStopListener(AnimatorStopListener* listener)

功能说明

  • 核心用途:设置动画停止事件的回调监听器
  • 动画自然播放结束时将调用监听器的 OnAnimatorStop 回调
  • 传入 nullptr 可移除已设置的监听器

入参

名称 参数类型 详细说明 约束取值范围
listener AnimatorStopListener* 动画停止监听器指针,入参指针,可为 nullptr nullptr 或有效的 AnimatorStopListener 实例指针

SetParentMatrix

void SetParentMatrix(Matrix4<float> matrix)

功能说明

  • 核心用途:设置父级变换矩阵,用于组合父视图的变换效果
  • 该矩阵将在 ReMeasure 时与动画变换矩阵组合计算最终变换
  • 入参为值传递,调用后对象持有矩阵副本

入参

名称 参数类型 详细说明 约束取值范围
matrix Matrix4 父级 4x4 变换矩阵 有效的 4x4 浮点矩阵

ReMeasure

virtual void ReMeasure() override

功能说明

  • 核心用途:重新测量并更新图像的布局与变换
  • 根据当前动画状态与父级矩阵重新计算变换映射,更新视图显示
  • 该函数重写自 UIImageView 的 ReMeasure

OHOS::UITextureMapper::AnimatorStopListener

OnAnimatorStop

virtual void OnAnimatorStop(UIView& view) = 0

功能说明

  • 核心用途:动画停止时的纯虚回调函数,需由子类实现
  • 当关联的 UITextureMapper 动画自然播放结束时被调用
  • 该函数为纯虚函数,继承 AnimatorStopListener 时必须实现

入参

名称 参数类型 详细说明 约束取值范围
view UIView& 动画所属的视图引用,入参引用,只读 有效的 UIView 对象引用