gesture控件¶
1. 使用场景¶
为丰富页面之间的切换方式,且实现统一的管理,lv_gesture控件对右滑退出功能进行了封装,保证页面切换的触发方式统一性。
2. 功能介绍¶
2.1 主要接口说明¶
右滑退出动画根据跟手动画的区域大小不同主要分为三种形式,如图所示,区域大小根据line的位置而确定。
全屏任意位置右滑退出,line的位置位于屏幕的右侧。
限定区域的右滑退出,line的位置靠经屏幕左边,但保留一定距离。
全屏右滑退出且不带跟手动画。line位于屏幕左边
主要配置line的位置,以及是否使能非跟手动画。为简化代码回调,GUI已实现了该回调函数,外部只需指定line位置和是否使能非跟手动画。
注意:本页描述的
lv_gesture_*和gui_app_gesture_set_parem为页面级手势管理接口,不在solution/framework/gui_widget目录中定义;solution/framework/gui_widget当前没有独立的gesture控件源码或头文件。
// 初始化手势模块,并设置手势事件回调
void lv_gesture_init(lv_gesture_event_cb_t event_cb);
// 设置右滑触发区域和是否允许直接返回
void gui_app_gesture_set_parem(lv_coord_t left_area, uint8_t goback_en);
其中 lv_gesture_init(event_cb) 只负责注册手势事件回调;区域线位置和返回使能状态分别由 lv_gesture_set_area_line(left_area) / lv_gesture_set_goback(goback_en) 设置,应用层通常直接调用 gui_app_gesture_set_parem(left_area, goback_en) 完成配置。
使能或禁止手势动画
//Enable gesture function, the status switch will be performed after idle is entered.
void lv_gesture_enable(void);
//Disable gesturefunction,thestatus switch wiil be performed after idleisentered.
void lv_gesture_disable(void);
3. 案例说明¶
比如在平铺页面有右滑翻页手势,则必须禁止右滑退出手势。
static void on_resume(void)
{
//...
lv_gesture_disable();
}
static void on_pause(void)
{
//...
lv_gesture_enable();
}
再如没有页面只需左边区域具有右滑手势动画,则可通过调用该接口实现切换。
static void on_resume(void)
{
//...
gui_app_gesture_set_parem(50,false);
}
手势跟手动画效果
4. 注意事项¶
无