下拉列表部件(lv_dropdown)

下拉列表部件常用于多选一的场景,点击后可展现多个选项。
img

下拉列表部件组成部分:

  1. 按钮(BUTTON)
  2. 列表(LIST)

API函数

  1. 创建下拉列表部件
lv_obj_t *dd = lv_dropdown_create( parent );
  1. 设置选项内容
//options:填写选项,一般是字符串形式且需要换行符,否则会将多个选项组合成一个
lv_dropdown_set_options(lv_obj_t * obj, const char * options);	   		    /* 设置选项 */
lv_dropdown_set_options_static(lv_obj_t * obj, const char * options);			/* 设置选项 (静态)*/
lv_dropdown_add_option(lv_obj_t * obj, const char * option, uint32_t pos);					/* 添加选项,索引从0开始 */
  1. 设置当前所选项
lv_dropdown_set_selected(lv_obj_t * obj, uint16_t sel_opt)					/* 注意:索引从0开始 */
  1. 事件触发
lv_obj_add_event_cb(dd, my_event_cb, LV_EVENT_VALUE_CHANGED, NULL);	/* 添加事件 */ 
  1. 获取选项内容
lv_dropdown_get_selected(const lv_obj_t * obj);				    /* 获取索引(序号) */
//lv_dropdown_get_selected_str()中的obj一般是回调事件中lv_event_get_code(e)的返回值
//buf字符串里面存放的是下拉列表的选项的字符形式,如选项a,buf里面就是字符'a'
char buf[10];
lv_dropdown_get_selected_str(const lv_obj_t * obj, char * buf, uint32_t buf_size)/* 获取选项文本 */
  1. 设置方向和图标
lv_dropdown_set_dir(dd, LV_DIR_RIGHT);				/* 设置列表展开方向 */
//此处的图标是下拉列表的方向图标(按照个人喜好随意选择)
lv_dropdown_set_symbol(dd, LV_SYMBOL_RIGHT);		/* 设置图标 */

滚轮部件(lv_roller)

滚轮部件常用于多选一的场景,它以滚轮的形式来展现多个选项。
img

滚轮部件组成部分:

  1. 主体(LV_PART_MAIN)
  2. 选项框(LV_PART_SELECTED)

API函数

  1. 创建滚轮部件
lv_obj_t *roller= lv_roller_create( parent );
  1. 设置选项间隔
lv_obj_set_style_text_line_space(roller, 30, LV_STATE_DEFAULT);	   
  1. 设置选项内容、滚动模式
lv_roller_set_options(roller, “a\nb\nc\nd”, LV_ROLLER_MODE_NORMAL); 		/* 正常模式 */
  1. 设置当前所选项
lv_roller_set_selected(roller, 3, LV_ANIM_ON);
  1. 设置可见行数
lv_roller_set_visible_row_count(roller, 2);
  1. 获取选项内容
lv_roller_get_selected(roller);				            /* 获取索引 */

char buf[10];
lv_roller_get_selected_str(roller, buf, sizeof(buf));	/* 获取选项文本 */

滑块部件(lv_slider)

滑块部件常用于调节某个参数的值,它以直线滑动的形式来修改数值。
img

滑块部件组成部分:

  1. 主体(LV_PART_MAIN)
  2. 指示器(LV_PART_INDICATOR)
  3. 旋钮(LV_PART_KNOB)

API函数

  1. 创建滑块部件
lv_obj_t   *slider = lv_slider_create( parent );
  1. 设置大小、当前值、范围值
lv_obj_set_size(slider, 20, 200);						/* 高度>宽度时,滑块为纵向 */
lv_slider_set_value(slider, 50, LV_ANIM_OFF);			/* 设置当前值 */
lv_slider_set_range(slider, -100, 100);					/* 设置范围值 */
  1. 获取当前值
lv_slider_get_value(slider);
  1. 模式设置
lv_slider_set_mode(slider, LV_SLIDER_MODE_...);
  1. 设置、获取左值
lv_slider_set_left_value(slider, 20, LV_ANIM_OFF);				/* 设置左值 */
lv_slider_get_left_value(slider);								/* 获取左值 */