发 帖  
原厂入驻New

请问如何建立滑动条控件?

71 控件
分享
2020-11-16 07:28:21   评论 分享淘帖 邀请回答
2个回答
2020-11-16 10:49:33 评论

举报

  代码分析
  用户可下载“圆弧对象(lv_arc)的使用”文章末尾的Demo工程(点击我直接下载),参考圆弧对象(lv_arc)的使用文章,将以下Demo代码复制到Demo工程test.c文件空白处。然后在test.c文件的create_test()函数中增加roller_test()函数测试。
  01static void roller_event_handler(lv_obj_t * obj, lv_event_t event)
  02{
  03 if(event == LV_EVENT_VALUE_CHANGED) {
  04 char buf[32];
  05 lv_roller_get_selected_str(obj, buf, sizeof(buf));
  06 printf(“Selected month: %s\n”, buf);
  07 }
  08}
  09
  10
  11void roller_test(void)
  12{
  13 lv_obj_t *roller1 = lv_roller_create(lv_scr_act(), NULL);
  14 lv_roller_set_options(roller1,
  15 “January\n”
  16 “February\n”
  17 “March\n”
  18 “April\n”
  19 “May\n”
  20 “June\n”
  21 “July\n”
  22 “August\n”
  23 “September\n”
  24 “October\n”
  25 “November\n”
  26 “December”,
  27 LV_ROLLER_MODE_INIFINITE);
  28
  29 lv_roller_set_visible_row_count(roller1, 4);
  30 lv_obj_align(roller1, NULL, LV_ALIGN_CENTER, 0, 0);
  31 lv_obj_set_event_cb(roller1, roller_event_handler);
  32}
  这里我们创建了一个月份选择列表,用户可以通过滑动月份列表去选择月份,大家还记得每个月份之间的“\n”是什么作用吗?这个我们在之前的下拉列表教程中有讲过,可能大家现在发现有很多控件是类似的,没错,有部分控件是相似的,但是因为具有某些不太同的属性从而发展成了一个新的控件,没错“\n”的作用就是用来分割我们每一个选项的,当你不加这个分割符时所有选项会变成一个选项,不过这里这种方法要比我们前面学习的列表控件要简单多了,因为我们一次可以添加多个选项。
  1lv_roller_set_visible_row_count(roller1, 4);
  这行代码的意思是,一次可以展示4个选项,你觉得展示窗口太小时,可以增大这个数字,这里我们也设置了回调函数,因为选择性的控件是有结果输出的,所以我们需要回调函数去处理结果,这里我们只在控制台打印了一下,大家可以根据自己的需求去处理选择结果。
2020-11-16 10:49:48 评论

举报

只有小组成员才能发言,加入小组>>

320个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表