Roller(滚轮)(lv_roller)

1.用法函数介绍

        1.1创造滚轮

            lv_obj_t * lv_roller_create(lv_obj_t * parent);

             参数介绍:parent:父对象。

        1.2 设置roller的选项

         void lv_roller_set_options(lv_obj_t * obj, const char * options, lv_roller_mode_t mode)

        参数介绍:obj:对象

                          options:设置滚轮内容,例子:"One\nTwo\nThree"

                          mode:LV_ROLLER_MODE_NORMAL:正常模式(结束时结束)

                                      LV_ROLLER_MODE_INFINITE:无限模式

        1.3设置roller 的可见行数

                lv_roller_set_visible_row_count(lv_obj_t * obj, uint8_t row_cnt)  ;

                参数介绍:obj:对象

                                  row_cnt:间距值。

         1.4获取选中的选项

                uint16_t lv_roller_get_selected(const lv_obj_t * obj);

                参数介绍:obj:对象。

                                  return:返回滚轮的id;

        1.5所选选项的内容复制

               void lv_roller_get_selected_str(const lv_obj_t * obj, char * buf, uint32_t buf_size);

                参数介绍:obj:对象

                                  buf:缓存区

                                  size:尺寸

2.事件

        LV_EVENT_VALUE_CHANGED :值改变就会触发

3.Example

        

static void event_handler(lv_event_t * e)
{
    lv_event_code_t code = lv_event_get_code(e);
    lv_obj_t * obj = lv_event_get_target(e);
    if(code == LV_EVENT_VALUE_CHANGED) {
        char buf[32];
        lv_roller_get_selected_str(obj, buf, sizeof(buf));
        LV_LOG_USER("Selected month: %s\n", buf);
    }
}

/**
 * An infinite roller with the name of the months
 */
void lv_example_roller_1(void)
{
    lv_obj_t *roller1 = lv_roller_create(lv_scr_act());
    lv_roller_set_options(roller1,
                        "January\n"
                        "February\n"
                        "March\n"
                        "April\n"
                        "May\n"
                        "June\n"
                        "July\n"
                        "August\n"
                        "September\n"
                        "October\n"
                        "November\n"
                        "December",
                        LV_ROLLER_MODE_INFINITE);

    lv_roller_set_visible_row_count(roller1, 4);
    lv_obj_center(roller1);
    lv_obj_add_event_cb(roller1, event_handler, LV_EVENT_ALL, NULL);
}

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值