slide_menu_t
概述
左右滑动菜单控件。
一般用一组按钮作为子控件,通过左右滑动改变当前的项。除了当菜单使用外,也可以用来切换页面。
slide_menu_t是widget_t的子类控件,widget_t的函数均适用于slide_menu_t控件。
在xml中使用”slide_menu”标签创建左右滑动菜单控件。如:
<slide_menu style="mask" align_v="top">
<button style="slide_button" text="0"/>
<button style="slide_button" text="1"/>
<button style="slide_button" text="2"/>
<button style="slide_button" text="3"/>
<button style="slide_button" text="4"/>
</slide_menu>
更多用法请参考:slide_menu.xml
在c代码中使用函数slide_menu_create创建左右滑动菜单控件。如:
slide_menu = slide_menu_create(win, 10, 10, 300, 60);
b = button_create(slide_menu, 0, 0, 0, 0);
widget_set_text_utf8(b, "1");
b = button_create(slide_menu, 0, 0, 0, 0);
widget_set_text_utf8(b, "2");
b = button_create(slide_menu, 0, 0, 0, 0);
widget_set_text_utf8(b, "3");
b = button_create(slide_menu, 0, 0, 0, 0);
widget_set_text_utf8(b, "4");
可按下面的方法关注当前项改变的事件:
widget_on(slide_menu, EVT_VALUE_CHANGED, on_current_changed, slide_menu);
可按下面的方法关注当前按钮被点击的事件:
widget_on(b, EVT_CLICK, on_button_click, b);
完整示例请参考:slide_menu demo
可用通过style来设置控件的显示风格,如背景颜色和蒙版颜色等等。如:
<style name="mask">
<normal bg_color="#f0f0f0" mask_color="#f0f0f0"/>
</style>
更多用法请参考:theme default
函数
函数名称 | 说明 |
---|---|
slide_menu_cast | 转换slide_menu对象(供脚本语言使用)。 |
slide_menu_create | 创建slide_menu对象 |
slide_menu_set_align_v | 设置垂直对齐方式。 |
slide_menu_set_min_scale | 设置最小缩放比例。 |
slide_menu_set_value | 设置当前项。 |
属性
属性名称 | 类型 | 说明 |
---|---|---|
align_v | align_v_t | 垂直对齐方式。 |
min_scale | float_t | 最小缩放比例。 |
value | int32_t | 值。代表当前选中项的索引。 |
事件
事件名称 | 类型 | 说明 |
---|---|---|
EVT_VALUE_WILL_CHANGE | event_t | 值(当前项)即将改变事件。 |
EVT_VALUE_CHANGED | event_t | 值(当前项)改变事件。 |
slide_menu_cast 函数
- 函数功能:
- 函数原型:
widget_t* slide_menu_cast (widget_t* widget);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | widget_t* | slide_menu对象。 |
widget | widget_t* | slide_menu对象。 |
slide_menu_create 函数
- 函数功能:
- 函数原型:
widget_t* slide_menu_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | widget_t* | 对象。 |
parent | widget_t* | 父控件 |
x | xy_t | x坐标 |
y | xy_t | y坐标 |
w | wh_t | 宽度 |
h | wh_t | 高度 |
slide_menu_set_align_v 函数
- 函数功能:
- 函数原型:
ret_t slide_menu_set_align_v (widget_t* widget, align_v_t align_v);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
widget | widget_t* | slide_menu对象。 |
align_v | align_v_t | 对齐方式。 |
slide_menu_set_min_scale 函数
- 函数功能:
- 函数原型:
ret_t slide_menu_set_min_scale (widget_t* widget, float_t min_scale);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
widget | widget_t* | slide_menu对象。 |
min_scale | float_t | 最小缩放比例,范围[0.5-1]。 |
slide_menu_set_value 函数
- 函数功能:
- 函数原型:
ret_t slide_menu_set_value (widget_t* widget, uint32_t value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
widget | widget_t* | slide_menu对象。 |
value | uint32_t | 当前项的索引。 |
align_v 属性
- 类型:align_v_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可持久化 | 是 |
可脚本化 | 是 |
可在IDE中设置 | 是 |
可在XML中设置 | 是 |
可通过widget_get_prop读取 | 是 |
可通过widget_set_prop修改 | 是 |
min_scale 属性
- 类型:float_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可持久化 | 是 |
可脚本化 | 是 |
可在IDE中设置 | 是 |
可在XML中设置 | 是 |
可通过widget_get_prop读取 | 是 |
可通过widget_set_prop修改 | 是 |
value 属性
- 类型:int32_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可持久化 | 是 |
可脚本化 | 是 |
可在IDE中设置 | 是 |
可在XML中设置 | 是 |
可通过widget_get_prop读取 | 是 |
可通过widget_set_prop修改 | 是 |