awtk/docs/manual/vpage_t.md
2022-12-05 12:10:53 +08:00

5.2 KiB
Raw Blame History

vpage_t

概述

image

虚拟页面(根据情况自动加载/卸载页面,并提供入场/出场动画)。

虚拟页面只能作为pages的直接子控件使用。

如果指定了ui_asset:

  • 当页面切换到后台时自动卸载并触发EVT_VPAGE_CLOSE消息。
  • 当页面切换到前台时自动加载在动画前出发EVT_VPAGE_WILL_OPEN消息在动画完成时触发 EVT_VPAGE_CLOSE消息。

vpage_t也可以当作普通view嵌入到pages中让tab控件在切换时具有动画效果。

在xml中使用"vpage"标签创建控件。如:

<!-- ui -->
<vpage x="c" y="50" w="100" h="100" ui_asset="mypage"/>

可用通过style来设置控件的显示风格如字体的大小和颜色等等(一般无需指定)。如:

<!-- style -->
<vpage>
<style name="default">
<normal />
</style>
</vpage>

函数

函数名称 说明
vpage_cast 转换为vpage对象(供脚本语言使用)。
vpage_create 创建vpage对象
vpage_get_widget_vtable 获取 vpage 虚表。
vpage_set_anim_hint 设置动画类型(vtranslate: 垂直平移htranslate: 水平平移)。
vpage_set_ui_asset 设置 UI资源名称。

属性

属性名称 类型 说明
anim_hint char* 动画类型(目前支持vtranslate: 垂直平移htranslate: 水平平移)。
ui_asset char* UI资源名称。

事件

事件名称 类型 说明
EVT_VPAGE_WILL_OPEN event_t 页面即将打开(动画前)。
EVT_VPAGE_OPEN event_t 页面打开完成(动画后)。
EVT_VPAGE_CLOSE event_t 页面已经关闭(动画后)。

vpage_cast 函数


  • 函数功能:

转换为vpage对象(供脚本语言使用)。

  • 函数原型:
widget_t* vpage_cast (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 widget_t* vpage对象。
widget widget_t* vpage对象。

vpage_create 函数


  • 函数功能:

创建vpage对象

  • 函数原型:
widget_t* vpage_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
  • 参数说明:
参数 类型 说明
返回值 widget_t* vpage对象。
parent widget_t* 父控件
x xy_t x坐标
y xy_t y坐标
w wh_t 宽度
h wh_t 高度

vpage_get_widget_vtable 函数


  • 函数功能:

获取 vpage 虚表。

  • 函数原型:
const widget_vtable_t* vpage_get_widget_vtable ();
  • 参数说明:
参数 类型 说明
返回值 const widget_vtable_t* 成功返回 vpage 虚表。

vpage_set_anim_hint 函数


  • 函数功能:

设置动画类型(vtranslate: 垂直平移htranslate: 水平平移)。

  • 函数原型:
ret_t vpage_set_anim_hint (widget_t* widget, const char* anim_hint);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
anim_hint const char* 动画类型。

vpage_set_ui_asset 函数


  • 函数功能:

设置 UI资源名称。

  • 函数原型:
ret_t vpage_set_ui_asset (widget_t* widget, const char* ui_asset);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
ui_asset const char* UI资源名称。

anim_hint 属性


动画类型(目前支持vtranslate: 垂直平移htranslate: 水平平移)。

  • 类型char*
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

ui_asset 属性


UI资源名称。

  • 类型char*
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改