1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-14 06:42:58 +08:00
lvgl/examples/layouts/grid/lv_example_grid_5.c

64 lines
1.6 KiB
C
Raw Normal View History

2021-04-08 13:07:48 +02:00
#include "../../lv_examples.h"
2021-02-14 14:56:34 +01:00
#if LV_USE_GRID && LV_BUILD_EXAMPLES
2021-02-12 14:22:48 +01:00
2021-02-22 20:27:46 +01:00
static void row_gap_anim(void * obj, int32_t v)
2021-02-12 14:22:48 +01:00
{
lv_obj_set_style_pad_row(obj, v, 0);
2021-02-12 14:22:48 +01:00
}
2021-02-22 20:27:46 +01:00
static void column_gap_anim(void * obj, int32_t v)
2021-02-12 14:22:48 +01:00
{
lv_obj_set_style_pad_column(obj, v, 0);
2021-02-12 14:22:48 +01:00
}
2021-02-12 14:22:48 +01:00
/**
2021-02-14 14:56:34 +01:00
* Demonstrate column and row gap
2021-02-12 14:22:48 +01:00
*/
void lv_example_grid_5(void)
{
/*60x60 cells*/
static lv_coord_t col_dsc[] = {60, 60, 60, LV_GRID_TEMPLATE_LAST};
static lv_coord_t row_dsc[] = {45, 45, 45, LV_GRID_TEMPLATE_LAST};
2021-02-12 14:22:48 +01:00
/*Create a container with grid*/
lv_obj_t * cont = lv_obj_create(lv_scr_act());
2021-02-12 14:22:48 +01:00
lv_obj_set_size(cont, 300, 220);
lv_obj_center(cont);
lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
2021-02-12 14:22:48 +01:00
lv_obj_t * label;
lv_obj_t * obj;
uint32_t i;
for(i = 0; i < 9; i++) {
uint8_t col = i % 3;
uint8_t row = i / 3;
obj = lv_obj_create(cont);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1,
LV_GRID_ALIGN_STRETCH, row, 1);
label = lv_label_create(obj);
2021-02-12 14:22:48 +01:00
lv_label_set_text_fmt(label, "%d,%d", col, row);
lv_obj_center(label);
2021-02-12 14:22:48 +01:00
}
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_var(&a, cont);
lv_anim_set_values(&a, 0, 10);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
2021-02-22 20:27:46 +01:00
lv_anim_set_exec_cb(&a, row_gap_anim);
2021-02-12 14:22:48 +01:00
lv_anim_set_time(&a, 500);
lv_anim_set_playback_time(&a, 500);
lv_anim_start(&a);
2021-02-22 20:27:46 +01:00
lv_anim_set_exec_cb(&a, column_gap_anim);
2021-02-12 14:22:48 +01:00
lv_anim_set_time(&a, 3000);
lv_anim_set_playback_time(&a, 3000);
lv_anim_start(&a);
}
#endif