1 #include "../../lv_examples.h"
2 #if LV_USE_GRID && LV_BUILD_EXAMPLES
3 
4 /**
5  * Demonstrate cell placement and span
6  */
lv_example_grid_2(void)7 void lv_example_grid_2(void)
8 {
9     static lv_coord_t col_dsc[] = {70, 70, 70, LV_GRID_TEMPLATE_LAST};
10     static lv_coord_t row_dsc[] = {50, 50, 50, LV_GRID_TEMPLATE_LAST};
11 
12     /*Create a container with grid*/
13     lv_obj_t * cont = lv_obj_create(lv_scr_act());
14     lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
15     lv_obj_set_size(cont, 300, 220);
16     lv_obj_center(cont);
17 
18     lv_obj_t * label;
19     lv_obj_t * obj;
20 
21     /*Cell to 0;0 and align to to the start (left/top) horizontally and vertically too*/
22     obj = lv_obj_create(cont);
23     lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
24     lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_START, 0, 1,
25                          LV_GRID_ALIGN_START, 0, 1);
26     label = lv_label_create(obj);
27     lv_label_set_text(label, "c0, r0");
28 
29     /*Cell to 1;0 and align to to the start (left) horizontally and center vertically too*/
30     obj = lv_obj_create(cont);
31     lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
32     lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_START, 1, 1,
33                          LV_GRID_ALIGN_CENTER, 0, 1);
34     label = lv_label_create(obj);
35     lv_label_set_text(label, "c1, r0");
36 
37     /*Cell to 2;0 and align to to the start (left) horizontally and end (bottom) vertically too*/
38     obj = lv_obj_create(cont);
39     lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
40     lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_START, 2, 1,
41                          LV_GRID_ALIGN_END, 0, 1);
42     label = lv_label_create(obj);
43     lv_label_set_text(label, "c2, r0");
44 
45     /*Cell to 1;1 but 2 column wide (span = 2).Set width and height to stretched.*/
46     obj = lv_obj_create(cont);
47     lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
48     lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 1, 2,
49                          LV_GRID_ALIGN_STRETCH, 1, 1);
50     label = lv_label_create(obj);
51     lv_label_set_text(label, "c1-2, r1");
52 
53     /*Cell to 0;1 but 2 rows tall (span = 2).Set width and height to stretched.*/
54     obj = lv_obj_create(cont);
55     lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
56     lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 0, 1,
57                          LV_GRID_ALIGN_STRETCH, 1, 2);
58     label = lv_label_create(obj);
59     lv_label_set_text(label, "c0\nr1-2");
60 }
61 
62 #endif
63