Skip to content

slide_indicator_t

概述

slide_view的指示器控件。

支持直线、弧线排布,默认有4种绘制样式,若设置了icon/active_icon,则优先使用icon/active_icon

slide_indicator_t是widget_t的子类控件,widget_t的函数均适用于slide_indicator_t控件。

在xml中使用"slide_indicator"或"slide_indicator_arc"标签创建指示器控件。如:

xml
<slide_view name="view" x="0"  y="0" w="100%" h="100%">
...
</slide_view>
<slide_indicator name="indicator" x="right" y="0" w="6" h="100%"/>

更多用法请参考:slide_view.xml

在c代码中使用函数slide_indicator_create创建指示器控件。如:

c
widget_t* slide_indicator = slide_indicator_create(parent, 0, 0, 0, 0);
xml
<style name="default">
<normal fg_color="#FFFFFF80" selected_fg_color="#FFFFFF"/>
</style>

更多用法请参考:theme default

函数

函数名称说明
slide_indicator_cast转换为slide_indicator对象(供脚本语言使用)。
slide_indicator_create创建slide_indicator对象
slide_indicator_create_arc创建slide_indicator对象(圆弧显示)
slide_indicator_create_linear创建slide_indicator对象(线性显示)
slide_indicator_set_anchor设置旋转锚点。
slide_indicator_set_auto_hide设置指示器是否自动隐藏。
slide_indicator_set_default_paint设置指示器的默认绘制类型。
slide_indicator_set_indicated_target设置指示器指示的目标。
slide_indicator_set_margin设置指示器的边距(默认为10像素)。
slide_indicator_set_max设置指示器的数量。
slide_indicator_set_size设置指示器的大小(默认为8)。
slide_indicator_set_spacing设置指示器的间距(指示器有弧度时为角度值,否则为直线间距)。
slide_indicator_set_transition设置是否启用过渡效果。
slide_indicator_set_value设置当前页的序号。

属性

属性名称类型说明
anchor_xchar*锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)
anchor_ychar*锚点y坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)
auto_hideuint16_t自动隐藏。0表示禁止,非0表示无操作后延迟多久隐藏。
default_paintindicator_default_paint_t指示器的类型。
indicated_targetchar*指示器指示的目标控件的名称。
marginint32_t指示器与边缘的边距。
maxuint32_t最大值(缺省为100)。
sizeuint32_t指示器的大小。
spacingfloat_t指示器的中心之间的间距(圆弧显示时,间距的单位为弧度,否则为像素)。
transitionbool_t是否启用过渡效果。
valueuint32_t值(缺省为0)。

事件

事件名称类型说明
EVT_VALUE_WILL_CHANGEvalue_change_event_t值(当前页的序号)即将改变事件。
EVT_VALUE_CHANGEDvalue_change_event_t值(当前页的序号)改变事件。
EVT_PAGE_CHANGEDevent_t页面改变事件。
EVT_PAGE_CHANGINGevent_t页面正在改变。

slide_indicator_cast 函数

  • 函数功能:

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

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

slide_indicator_create 函数

  • 函数功能:

创建slide_indicator对象

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

slide_indicator_create_arc 函数

  • 函数功能:

创建slide_indicator对象(圆弧显示)

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

slide_indicator_create_linear 函数

  • 函数功能:

创建slide_indicator对象(线性显示)

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

slide_indicator_set_anchor 函数

  • 函数功能:

设置旋转锚点。

  • 函数原型:
ret_t slide_indicator_set_anchor (widget_t* widget, const char* anchor_x, const char* anchor_y);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
anchor_xconst char*锚点坐标x。(后面加上px为像素点,不加px为相对百分比坐标)
anchor_yconst char*锚点坐标y。(后面加上px为像素点,不加px为相对百分比坐标)

slide_indicator_set_auto_hide 函数

  • 函数功能:

设置指示器是否自动隐藏。

  • 函数原型:
ret_t slide_indicator_set_auto_hide (widget_t* widget, uint16_t auto_hide);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
auto_hideuint16_t0表示禁止,非0表示无操作后延迟多久隐藏。

slide_indicator_set_default_paint 函数

  • 函数功能:

设置指示器的默认绘制类型。

  • 函数原型:
ret_t slide_indicator_set_default_paint (widget_t* widget, indicator_default_paint_t default_paint);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
default_paintindicator_default_paint_t默认绘制类型。

slide_indicator_set_indicated_target 函数

  • 函数功能:

设置指示器指示的目标。

  • 函数原型:
ret_t slide_indicator_set_indicated_target (widget_t* widget, const char* target_name);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
target_nameconst char*指示器指示的目标控件的名称

slide_indicator_set_margin 函数

  • 函数功能:

设置指示器的边距(默认为10像素)。

  • 函数原型:
ret_t slide_indicator_set_margin (widget_t* widget, int32_t margin);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
marginint32_t指示器的边距。

slide_indicator_set_max 函数

  • 函数功能:

设置指示器的数量。

  • 函数原型:
ret_t slide_indicator_set_max (widget_t* widget, uint32_t max);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
maxuint32_t数量。

slide_indicator_set_size 函数

  • 函数功能:

设置指示器的大小(默认为8)。

  • 函数原型:
ret_t slide_indicator_set_size (widget_t* widget, uint32_t size);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
sizeuint32_t指示器的大小。

slide_indicator_set_spacing 函数

  • 函数功能:

设置指示器的间距(指示器有弧度时为角度值,否则为直线间距)。

  • 函数原型:
ret_t slide_indicator_set_spacing (widget_t* widget, float_t spacing);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
spacingfloat_t指示器的间距。

slide_indicator_set_transition 函数

  • 函数功能:

设置是否启用过渡效果。

  • 函数原型:
ret_t slide_indicator_set_transition (widget_t* widget, bool_t transition);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
transitionbool_t是否启用过渡效果

slide_indicator_set_value 函数

  • 函数功能:

设置当前页的序号。

  • 函数原型:
ret_t slide_indicator_set_value (widget_t* widget, uint32_t value);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*slide_indicator对象。
valueuint32_t当前项的序号。

anchor_x 属性

锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)

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

anchor_y 属性

锚点y坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)

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

auto_hide 属性

自动隐藏。0表示禁止,非0表示无操作后延迟多久隐藏。

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

default_paint 属性

指示器的类型。

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

indicated_target 属性

指示器指示的目标控件的名称。

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

margin 属性

指示器与边缘的边距。

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

max 属性

最大值(缺省为100)。

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

size 属性

指示器的大小。

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

spacing 属性

指示器的中心之间的间距(圆弧显示时,间距的单位为弧度,否则为像素)。

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

transition 属性

是否启用过渡效果。

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

value 属性

值(缺省为0)。

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