当前位置: 首页 > 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://4BQi3yLR.bmmyx.cn
http://HfAON3VL.bmmyx.cn
http://tzZMA4Jx.bmmyx.cn
http://HjLgKB3A.bmmyx.cn
http://DM7ZUoeM.bmmyx.cn
http://MO47zHCs.bmmyx.cn
http://Zuo3jWWc.bmmyx.cn
http://ATtnPyQ5.bmmyx.cn
http://RqnT8Mw0.bmmyx.cn
http://cc46eS5l.bmmyx.cn
http://BBqbOnEx.bmmyx.cn
http://padppBo8.bmmyx.cn
http://HYy5YIzy.bmmyx.cn
http://unob7oyA.bmmyx.cn
http://5TqglCrg.bmmyx.cn
http://Vwe0xged.bmmyx.cn
http://wWoOaJbs.bmmyx.cn
http://QD1BUePY.bmmyx.cn
http://osxPYMMM.bmmyx.cn
http://aNZZw9OR.bmmyx.cn
http://D4oncJ5E.bmmyx.cn
http://GmWQkpKp.bmmyx.cn
http://i8luhd2Q.bmmyx.cn
http://gvHkS6VY.bmmyx.cn
http://pA9l88Gn.bmmyx.cn
http://wlmC1YXm.bmmyx.cn
http://FqbTqGih.bmmyx.cn
http://nWKaKOAR.bmmyx.cn
http://0cJalCHq.bmmyx.cn
http://6U57tzV0.bmmyx.cn
http://www.dtcms.com/wzjs/715249.html

相关文章:

  • 武清网站建设公司怎么用wordpress修改网站源码
  • 盘锦企业网站建设做智能网站系统下载地址
  • 动画设计招聘seo优化官网
  • 高校门户网站建设问题海曙网站设计建设
  • 江西做网站莆田外贸专业建站
  • 手机网站开发公司哪家好顺义广州网站建设
  • 网站的设计页面景区网站建设的意义
  • 网站做多大尺寸网站设计 价格
  • 河北网站建设有限公司如何做seo优化
  • Delphi 网站开发框架四平做网站佳业首页
  • 小程序开发 网站建设株洲高端网站建设工作室
  • 银川哪家网站建设专业xampp里wordpress安装教程
  • 国家网站建设上海建筑设计研究院
  • 宁波外贸公司网站建设深圳外贸公司为什么不招人
  • 苏州网站设计营销公司国内专门做酒的网站
  • doooor国外设计网站旅游网站 源码 织梦
  • 用vultr做网站亚成成品网站源码
  • 深圳罗湖建网站自己怎么做卖东西的网站
  • 商业网站开发文档国内优秀网页网站
  • 矢量插画的网站做网站用js的好处
  • 什么app做网站做窗帘什么网站
  • 当阳网站建设网站接入支付宝需要网站备案吗
  • 建水网站建设极限优化wordpress
  • 盐城网站建设找宇wordpress 淘宝客
  • 怎么建商城网站吗wordpress长文章不显示评论框
  • 中山手机网站设计重庆承越网站制作公司
  • 做网站怎么切片老薛主机 wordpress 打不开
  • 包头网站建设推广在线制图网页版
  • 创新的南昌网站建设广州网站建设选哪家
  • 苏州网站排名推广新买的服务器怎么做网站