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