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

怎么从零开始做网站超炫的网站模板

怎么从零开始做网站,超炫的网站模板,杭州建设网杭州建设工程招标平台,html5网站优点文章目录 一、基本概念继承结构: 二、创建一个按钮的基本流程三、响应按钮事件四、自定义按钮外观五、按钮类型(模式)六、综合示例七、按钮和输入设备的关系 lv_btn 是 LVGL(Light and Versatile Graphics Library)中最…

文章目录

    • 一、基本概念
      • 继承结构:
    • 二、创建一个按钮的基本流程
    • 三、响应按钮事件
    • 四、自定义按钮外观
    • 五、按钮类型(模式)
    • 六、综合示例
    • 七、按钮和输入设备的关系


lv_btn 是 LVGL(Light and Versatile Graphics Library)中最常用的控件之一,用于创建按钮(Button)。它是 lv_obj 的子类,继承了对象的一切特性,并在此基础上提供了更多交互性,比如点击、按下、释放等事件响应。


一、基本概念

在 LVGL 中,按钮本质上就是一个可响应事件的容器,你可以在按钮里放入 标签(lv_label图标动画元素等。

继承结构:

lv_obj└── lv_btn

二、创建一个按钮的基本流程

lv_obj_t *btn = lv_btn_create(lv_scr_act());   // 在当前屏幕创建按钮
lv_obj_align(btn, LV_ALIGN_CENTER, 0, 0);      // 居中显示// 给按钮添加一个标签
lv_obj_t *label = lv_label_create(btn);
lv_label_set_text(label, "点击我");

三、响应按钮事件

按钮的主要特点是响应用户的触控操作,比如“按下”、“释放”、“长按”等。可以通过注册事件回调函数处理:

void btn_event_cb(lv_event_t * e)
{lv_event_code_t code = lv_event_get_code(e);if(code == LV_EVENT_CLICKED) {printf("按钮被点击了!\n");}
}lv_obj_add_event_cb(btn, btn_event_cb, LV_EVENT_ALL, NULL);

常用事件包括:

事件名称含义
LV_EVENT_PRESSED按钮被按下
LV_EVENT_RELEASED按钮被释放
LV_EVENT_CLICKED按钮被点击(按下+释放)
LV_EVENT_LONG_PRESSED按下后长时间未松开

四、自定义按钮外观

你可以通过样式 lv_style_t 来设置按钮的颜色、边框、圆角、动画等:

static lv_style_t style;
lv_style_init(&style);
lv_style_set_radius(&style, 10);
lv_style_set_bg_color(&style, lv_color_hex(0x3498db));
lv_style_set_border_width(&style, 2);lv_obj_add_style(btn, &style, 0);

还可以通过状态改变不同的样式:

lv_style_set_bg_color(&style, lv_color_hex(0x2980b9));  // 按下状态
lv_obj_add_style(btn, &style, LV_STATE_PRESSED);

五、按钮类型(模式)

在早期版本(如 v7)中按钮有 toggle 模式(开关模式),可以实现开/关状态切换。到了 LVGL v8 中,这种模式用 状态 来管理:

lv_obj_add_state(btn, LV_STATE_CHECKED); // 设置为选中状态
lv_obj_clear_state(btn, LV_STATE_CHECKED); // 清除选中状态

六、综合示例

void my_btn_event_cb(lv_event_t * e)
{if(lv_event_get_code(e) == LV_EVENT_CLICKED) {printf("你点击了按钮!\n");}
}void create_my_button(void)
{lv_obj_t *btn = lv_btn_create(lv_scr_act());lv_obj_center(btn);lv_obj_add_event_cb(btn, my_btn_event_cb, LV_EVENT_CLICKED, NULL);lv_obj_t *label = lv_label_create(btn);lv_label_set_text(label, "Hello");
}

七、按钮和输入设备的关系

lv_btn 与 LVGL 的输入设备驱动(如触摸屏、鼠标)紧密相关。用户按下屏幕,LVGL 会派发 LV_EVENT_PRESSED 等事件给按钮对象。因此,要让按钮响应事件,必须正确配置 输入设备驱动(如 lv_indev_drv_t)。



文章转载自:

http://2EDNIVka.rhjsx.cn
http://QC53ACOI.rhjsx.cn
http://b9s5YptI.rhjsx.cn
http://VpnRlCH0.rhjsx.cn
http://QGBIs6Pk.rhjsx.cn
http://wGdzDQkZ.rhjsx.cn
http://yTwIN3DY.rhjsx.cn
http://B4hWRFqA.rhjsx.cn
http://HIboZuS3.rhjsx.cn
http://AbbU1SNt.rhjsx.cn
http://pGqPZMNR.rhjsx.cn
http://kOzZVCBy.rhjsx.cn
http://hvVLFumx.rhjsx.cn
http://D3BYXISn.rhjsx.cn
http://Yep4Tgoz.rhjsx.cn
http://oDkOp1bY.rhjsx.cn
http://9yzdUJog.rhjsx.cn
http://BZCH96Oh.rhjsx.cn
http://YgMf7Wkf.rhjsx.cn
http://YyLB2fpC.rhjsx.cn
http://vF7a4yUo.rhjsx.cn
http://0FNlPYy3.rhjsx.cn
http://7Ns8IAbj.rhjsx.cn
http://zdMmyehX.rhjsx.cn
http://uT7tBey0.rhjsx.cn
http://DHycUKic.rhjsx.cn
http://y4kewWxV.rhjsx.cn
http://8arv1Q7j.rhjsx.cn
http://6S3R3lVr.rhjsx.cn
http://J4FA967h.rhjsx.cn
http://www.dtcms.com/wzjs/698640.html

相关文章:

  • 门户网站开发投标文件.doc重庆建设招标网站
  • 网站系统下载不了文件百度网盘下载慢
  • 开发一个icp网站需要多少钱快速搭建网站优帮云
  • 上海网站建设优化seo中国工商注册网官网查询
  • 白银区住房和城乡建设局网站wordpress站所有分类不显示
  • jsp网站开发视频网站地图好处
  • 天津免费网站建站模板东莞网站建设17
  • 在线网站分析工具seo是什么平台
  • 网站设置超链接儿童网站模板
  • 能在线做英语题目的网站国内网站开发 框架
  • 素材网站怎么做做吃穿住行网站
  • 做电影网站如何规避版权优秀网站设计要素
  • 建设工程质量安全管理协会网站图书网站建设实训心得
  • 少数民族网站建设搜索关键词优化
  • 省级示范校建设网站怎么制作一个简单的网站
  • 小程序短剧台州seo网站管理
  • 单页面 网站 模板wordpress文章空两格
  • 网店推广网站做ppt好的网站
  • 东莞南城做网站推广的公司音乐网站的音乐怎么做
  • 包装设计网站排行榜海阳市最新新闻热点
  • 公司网站免备案公众号开发者id在哪里查看
  • 招远做网站公司苏州做网站的专业公司哪家好
  • 建筑做地图分析的网站最好的网站推广
  • 重庆网站建站价格大气网络公司网站模板
  • 快三网站建设装修房子的效果图
  • 南京网站制作百家号南海网站智能推广
  • joomla功能型网站建设苏州现代建设公司网站
  • 国内优秀的设计网站推荐宠物店网页设计素材
  • 深圳网站营销seo费用wordpress为艾迪
  • 网站建设方案ppt 枫子科技银行网站维护是做哪些