【小熊带你玩转小安派】人人都是点灯大师

[复制链接]
查看1114 | 回复9 | 2023-9-22 12:38:18 | 显示全部楼层 |阅读模式
本帖最后由 ifwz1729 于 2023-9-22 12:45 编辑

本系列图文连载,第9话


在第7话中,我们学习了用按钮播放视频,这一期,我们学习用两种方法 开/关 灯

方法一:
设计界面(妈耶,好丑啊)
2023-9-22 11-46-52.png

点击按钮,a++,通过判断a的奇偶性控制灯的亮灭(学习一下if判断函数的用法)
让控件显隐的方法 https://blog.csdn.net/weixin_62808461/article/details/130648340

效果
2.gif
贴下代码

  1. int a=0;
  2. static void screen_btn_1_event_handler (lv_event_t *e)
  3. {
  4.         lv_event_code_t code = lv_event_get_code(e);

  5.         switch (code) {
  6.         case LV_EVENT_CLICKED:
  7.         {
  8.         a++;
  9.         if( a % 2==0 )  //通过求余判断奇偶,比如a=3 ,求余 3 / 2= 1...1 ,余数=1 为奇数; a=4 ,求余4/2=2...0 为偶数
  10.    {
  11.       lv_obj_add_flag(guider_ui.screen_led_1, LV_OBJ_FLAG_HIDDEN);  //隐藏
  12.    }
  13.    else
  14.    {
  15.        lv_obj_clear_flag(guider_ui.screen_led_1, LV_OBJ_FLAG_HIDDEN); //显示
  16.    }
  17.                
  18.                 break;
  19.         }
  20.         default:
  21.                 break;
  22.         }
  23. }


  24. void custom_init(lv_ui *ui)
  25. {
  26. lv_obj_add_event_cb(ui->screen_btn_1, screen_btn_1_event_handler, LV_EVENT_ALL, NULL);
  27. }
复制代码


方法二:
使用思维驰(switch)控件  (我是红姐的粉丝,哈哈哈)
控件文档 http://lvgl.100ask.net/8.2/widgets/core/switch.html


贴上代码  (效果不知道为啥跟预想的不一样,代码按道理没写错)
  1. static void screen_sw_2_event_handler (lv_event_t * e)
  2. {
  3.     lv_event_code_t code = lv_event_get_code(e);
  4.     lv_obj_t * obj = lv_event_get_target(e);
  5.    
  6.         if(code == LV_EVENT_VALUE_CHANGED)  {   
  7.     if(lv_obj_has_state(obj, LV_STATE_CHECKED)){     //判断是否开关
  8.         lv_obj_clear_flag(guider_ui.screen_led_1, LV_OBJ_FLAG_HIDDEN); //显示
  9.     }
  10.     else{
  11.         lv_obj_add_flag(guider_ui.screen_led_1, LV_OBJ_FLAG_HIDDEN);  //隐藏
  12.     }
  13.   }
  14. }


  15. void custom_init(lv_ui *ui)
  16. {
  17. lv_obj_add_event_cb(ui->screen_sw_2, screen_sw_2_event_handler, LV_EVENT_ALL, NULL);
  18. }
复制代码


本帖被以下淘专辑推荐:

知足常乐
回复

使用道具 举报

496199544 | 2023-9-22 17:58:09 | 显示全部楼层
学习
回复

使用道具 举报

王乐乐 | 2023-9-22 18:15:54 | 显示全部楼层
打卡学习
回复

使用道具 举报

jkernet | 2023-9-22 19:43:05 来自手机 | 显示全部楼层
学习
回复

使用道具 举报

WangChong | 2023-9-22 23:10:44 | 显示全部楼层
学习了
回复

使用道具 举报

Ject | 2023-9-26 23:53:00 | 显示全部楼层
学习一下
回复

使用道具 举报

lsrly | 2023-9-27 09:00:05 | 显示全部楼层
点灯大师
回复

使用道具 举报

wangxiangtan | 2023-10-12 16:40:46 | 显示全部楼层
学会了,差个板子了
回复 支持 反对

使用道具 举报

18350766600@139 | 2023-10-23 22:38:47 | 显示全部楼层
打卡学习
回复

使用道具 举报

ddyty | 2023-10-27 12:48:48 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则