当前位置: 首页 > wzjs >正文

深圳市住建局长沙关键词优化新报价

深圳市住建局,长沙关键词优化新报价,重庆网站推广专员,苏州网站的建设​ lvgl可以利用物理按键控制控件的选择和状态,演示视频如下: 单物理按键控制LVGL控件的选择和状态 移植方法如下:1 在注册设备中,填写对应的变量和初始化函数。这里我们以移keypad为例,因为keypad的功能很多。 ![请添…

​ lvgl可以利用物理按键控制控件的选择和状态,演示视频如下:

单物理按键控制LVGL控件的选择和状态

移植方法如下:
  • 1 在注册设备中,填写对应的变量和初始化函数。这里我们以移keypad为例,因为keypad的功能很多。
    ![请添加图片描述](https://i-blog.csdnimg.cn/direct/dee41d9aad8c42c69e955bc0ce943238.png
/* keypad */
static void keypad_init(void);
static void keypad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data);
static uint32_t keypad_get_key(void);lv_indev_t * indev_keypad;
  • 2 在lv_port_indev_init(void)函数中填写对应初始化内容
    在这里插入图片描述
		/*Initialize your keypad or keyboard if you have*/keypad_init();/*Register a keypad input device*/lv_indev_drv_init(&indev_drv1);indev_drv1.type = LV_INDEV_TYPE_KEYPAD;indev_drv1.read_cb = keypad_read;indev_keypad = lv_indev_drv_register(&indev_drv1);/*Later you should create group(s) with `lv_group_t * group = lv_group_create()`,*add objects to the group with `lv_group_add_obj(group, obj)`*and assign this input device to group to navigate in it:*`lv_indev_set_group(indev_keypad, group);`*/
  • 3 在这个三个函数里面填入你的设备内容
    • 1 static void keypad_init(void) //你按键初始化内容
    • 2 static void keypad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)//返回值控制控件的方式
    • static uint32_t keypad_get_key(void)//获取到按键对应值的函数
/*------------------* Keypad* -----------------*//*Initialize your keypad*/
static void keypad_init(void)
{/*Your code comes here*/key_gpio_config();
}/*Will be called by the library to read the mouse*/
static void keypad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
{static uint32_t last_key = 0;/*Get the current x and y coordinates*/
//    mouse_get_xy(&data->point.x, &data->point.y);/*Get whether the a key is pressed and save the pressed key*/uint32_t act_key = keypad_get_key();if(act_key != 0) {data->state = LV_INDEV_STATE_PR;/*Translate the keys to LVGL control characters according to your key definitions*/switch(act_key) {case 1:act_key = LV_KEY_NEXT;break;case 2:act_key = LV_KEY_PREV;break;case 3:act_key = LV_KEY_LEFT;break;case 4:act_key = LV_KEY_RIGHT;break;case 5:act_key = LV_KEY_ENTER;break;}last_key = act_key;}else {data->state = LV_INDEV_STATE_REL;}data->key = last_key;
}/*Get the currently being pressed key.  0 if no key is pressed*/
static uint32_t keypad_get_key(void)
{/*Your code comes here*/return key_scan();
}			
  • 4 创建一个组group,并将你想控制ui控件添加组,并将其与你的输入设备keypad关联起来,这样就可以控制了。
void setup_gui()
{lv_group_t * group = lv_group_create();//创建一个组// 创建屏幕对象lv_obj_t * scr = lv_disp_get_scr_act(NULL);/* 创建一个开关控件 */lv_obj_t * switch_obj = lv_switch_create(scr);lv_obj_set_pos(switch_obj, 50, 50);  // 设置位置lv_obj_set_size(switch_obj, 100, 40);  // 设置大小lv_obj_set_style_bg_color(switch_obj, lv_color_hex(0xffffff), LV_PART_INDICATOR);lv_obj_t * switch_obj1 = lv_switch_create(scr);lv_obj_set_pos(switch_obj1, 200, 50);  // 设置位置lv_obj_set_size(switch_obj1, 100, 40);  // 设置大小lv_obj_set_style_bg_color(switch_obj1, lv_color_hex(0xffffff), LV_PART_INDICATOR);lv_obj_t * switch_obj2 = lv_switch_create(scr);lv_obj_set_pos(switch_obj2, 350, 50);  // 设置位置lv_obj_set_size(switch_obj2, 100, 40);  // 设置大小lv_obj_set_style_bg_color(switch_obj2, lv_color_hex(0xffffff), LV_PART_INDICATOR);lv_obj_t * label;lv_obj_t * btn1 = lv_btn_create(scr);lv_obj_add_event_cb(btn1, event_handler, LV_EVENT_ALL, NULL);lv_obj_align(btn1, LV_ALIGN_CENTER, 0, -40);label = lv_label_create(btn1);lv_label_set_text(label, "Button");lv_obj_center(label);lv_obj_t * btn2 = lv_btn_create(scr);lv_obj_add_event_cb(btn2, event_handler, LV_EVENT_ALL, NULL);lv_obj_align(btn2, LV_ALIGN_CENTER, 0, 40);lv_obj_add_flag(btn2, LV_OBJ_FLAG_CHECKABLE);lv_obj_set_height(btn2, LV_SIZE_CONTENT);label = lv_label_create(btn2);lv_label_set_text(label, "Toggle");lv_obj_center(label);/*Create a slider in the center of the display*/lv_obj_t * slider = lv_slider_create(scr);lv_obj_align(slider, LV_ALIGN_CENTER, 0, 80);lv_obj_add_event_cb(slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/*Create a label below the slider*/slider_label = lv_label_create(scr);lv_label_set_text(slider_label, "0%");lv_obj_align_to(slider_label, slider, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 将ui控件添加到组里面去 */lv_group_add_obj(group, switch_obj);lv_group_add_obj(group, switch_obj1);lv_group_add_obj(group, switch_obj2);lv_group_add_obj(group, btn1);lv_group_add_obj(group, btn2);lv_group_add_obj(group, slider);/* 将输入设备keypad关联起来 */lv_indev_set_group(indev_keypad, group);
}
http://www.dtcms.com/wzjs/190378.html

相关文章:

  • 头像定制在线生成器网站推广专家十年乐云seo
  • 云南网站建设崇左如何做网站优化seo
  • 建设银行招聘社会招聘网站情感营销经典案例
  • 五莲网站建设维护推广宜昌网站seo收费
  • 网络公司网站优化网站建设鹤壁seo公司
  • 济南手工网站建设微信广告投放推广平台
  • 新华区设计网站公司保定百度推广联系电话
  • 公司网站维护该谁来做百度关键词价格怎么查询
  • 帮人做项目的网站网站功能优化的方法
  • 网站建设备案查询培训网络营销机构
  • 玉林做网站seo提升关键词排名
  • 新手学做网站 pdf 网盘营销策划方案案例
  • 网站备案各种问题汇总个人怎么在百度上打广告
  • 武汉网站建设公司地址培训计划和培训内容
  • 网站建设推广注意什么站牛网是做什么的
  • 石家庄网站建设招商百度一下首页百度一下
  • 侨联网站建设百度网盘在线登录
  • seo网站优化报价百度关键词购买
  • 做家装施工的网站nba东西部最新排名
  • 在做网站编代码网页导航条中的文字出现在导航条的下方怎莫解决北京网站优化经理
  • 老外做牛排的视频网站电商沙盘seo裤子关键词
  • 禄丰网站建设外链发布论坛
  • 制作网架厂家seo实战培训视频
  • 建立网站专业公司windows11优化大师
  • 成交型网站建设价格营销方式方案案例
  • 网页内容修改器seo任务平台
  • 企业网站免费制作西安seo排名扣费
  • 做电子外贸网站企业网站设计要求
  • 同城做鸡网站广告推广赚钱
  • 快速做网站的技术沈阳关键字优化公司