lvgl实现图标还原
隐藏很简单在设计lvgl初始界面的时候添加事件即可但是还原需要改代码本次修改需要在event事件那个文件进行修改首先找到点击后隐藏的那个模块static void screen_1_click_img_event_handler (lv_event_t *e)click_img是我起的名字这样就可以找到是哪一块东西了首先想一下逻辑奇数次点击是隐藏偶数次点击时还原。ui_animation(guider_ui.screen_1_back_button, 1000, //动画进行时间 0, //延迟 lv_image_get_scale(guider_ui.screen_1_back_button), //动画开始时back_button的比例 0, //动画结束时back_button的比例 lv_anim_path_linear, //动画类型 0, 0, 0, 0, (lv_anim_exec_xcb_t)lv_image_set_scale, NULL, NULL, NULL);根据参数分析分析过程放在注释部分static void screen_1_click_img_event_handler (lv_event_t *e) { static int clicked_count 0; //记录点击次数 static int original_scale 0; //记录初始比例 lv_event_code_t code lv_event_get_code(e); switch (code) { case LV_EVENT_PRESSED: { // 第一次点击时记录原始缩放比例 if (clicked_count 0) { original_scale lv_image_get_scale(guider_ui.screen_1_back_button); } //偶数次时缩小 if (clicked_count % 2 0) { ui_animation(guider_ui.screen_1_back_button, 1000, 0, lv_image_get_scale(guider_ui.screen_1_back_button), 0, lv_anim_path_linear, 0, 0, 0, 0, (lv_anim_exec_xcb_t)lv_image_set_scale, NULL, NULL, NULL); }else //奇数次时放大 先获取比例直接写 0 测试通过然后再把动画后的比例设为初始比例 { ui_animation(guider_ui.screen_1_back_button, 1000, 0, lv_image_get_scale(guider_ui.screen_1_back_button),original_scale, lv_anim_path_linear, 0, 0, 0, 0, (lv_anim_exec_xcb_t)lv_image_set_scale, NULL, NULL, NULL); } clicked_count; //每次点击后该参数1 break; } default: break; } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2558337.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!