adding micropython examples (#2286)
* adding micropython examples * adding micropython examples
This commit is contained in:
29
examples/layouts/grid/lv_example_grid_1.py
Normal file
29
examples/layouts/grid/lv_example_grid_1.py
Normal file
@@ -0,0 +1,29 @@
|
||||
#
|
||||
# A simple grid
|
||||
#
|
||||
|
||||
col_dsc = [70, 70, 70, lv.COORD.MAX]
|
||||
row_dsc = [50, 50, 50, lv.COORD.MAX]
|
||||
|
||||
# Create a container with grid
|
||||
cont = lv.obj(lv.scr_act())
|
||||
cont.set_style_grid_column_dsc_array(col_dsc, 0)
|
||||
cont.set_style_grid_row_dsc_array(row_dsc, 0)
|
||||
cont.set_size(300, 220)
|
||||
cont.center()
|
||||
cont.set_layout(lv.LAYOUT_GRID.value)
|
||||
|
||||
for i in range(9):
|
||||
col = i % 3
|
||||
row = i // 3
|
||||
|
||||
obj = lv.btn(cont)
|
||||
# Stretch the cell horizontally and vertically too
|
||||
# Set span to 1 to make the cell 1 column/row sized
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, col, 1,
|
||||
lv.GRID_ALIGN.STRETCH, row, 1)
|
||||
|
||||
label = lv.label(obj)
|
||||
label.set_text("c" +str(col) + "r" +str(row))
|
||||
label.center()
|
||||
|
||||
53
examples/layouts/grid/lv_example_grid_2.py
Normal file
53
examples/layouts/grid/lv_example_grid_2.py
Normal file
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Demonstrate cell placement and span
|
||||
#
|
||||
|
||||
col_dsc = [70, 70, 70, lv.GRID_TEMPLATE.LAST]
|
||||
row_dsc = [50, 50, 50, lv.GRID_TEMPLATE.LAST]
|
||||
|
||||
# Create a container with grid
|
||||
cont = lv.obj(lv.scr_act())
|
||||
cont.set_grid_dsc_array(col_dsc, row_dsc)
|
||||
cont.set_size(300, 220)
|
||||
cont.center()
|
||||
|
||||
# Cell to 0;0 and align to to the start (left/top) horizontally and vertically too
|
||||
obj = lv.obj(cont)
|
||||
obj.set_size(lv.SIZE.CONTENT, lv.SIZE.CONTENT)
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.START, 0, 1,
|
||||
lv.GRID_ALIGN.START, 0, 1)
|
||||
label = lv.label(obj);
|
||||
label.set_text("c0, r0")
|
||||
|
||||
# Cell to 1;0 and align to to the start (left) horizontally and center vertically too
|
||||
obj = lv.obj(cont)
|
||||
obj.set_size(lv.SIZE.CONTENT, lv.SIZE.CONTENT)
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.START, 1, 1,
|
||||
lv.GRID_ALIGN.CENTER, 0, 1)
|
||||
label = lv.label(obj)
|
||||
label.set_text("c1, r0")
|
||||
|
||||
# Cell to 2;0 and align to to the start (left) horizontally and end (bottom) vertically too
|
||||
obj = lv.obj(cont)
|
||||
obj.set_size(lv.SIZE.CONTENT, lv.SIZE.CONTENT)
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.START, 2, 1,
|
||||
lv.GRID_ALIGN.END, 0, 1)
|
||||
label = lv.label(obj)
|
||||
label.set_text("c2, r0");
|
||||
|
||||
# Cell to 1;1 but 2 column wide (span = 2).Set width and height to stretched.
|
||||
obj = lv.obj(cont)
|
||||
obj.set_size(lv.SIZE.CONTENT, lv.SIZE.CONTENT)
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, 1, 2,
|
||||
lv.GRID_ALIGN.STRETCH, 1, 1)
|
||||
label = lv.label(obj)
|
||||
label.set_text("c1-2, r1")
|
||||
|
||||
# Cell to 0;1 but 2 rows tall (span = 2).Set width and height to stretched.
|
||||
obj = lv.obj(cont)
|
||||
obj.set_size(lv.SIZE.CONTENT, lv.SIZE.CONTENT)
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, 0, 1,
|
||||
lv.GRID_ALIGN.STRETCH, 1, 2)
|
||||
label = lv.label(obj)
|
||||
label.set_text("c0\nr1-2")
|
||||
|
||||
38
examples/layouts/grid/lv_example_grid_3.py
Normal file
38
examples/layouts/grid/lv_example_grid_3.py
Normal file
@@ -0,0 +1,38 @@
|
||||
def LV_GRID_FR(x):
|
||||
return lv.COORD.MAX - 100 + x
|
||||
#
|
||||
# Demonstrate grid's "free unit"
|
||||
#
|
||||
|
||||
# Column 1: fix width 60 px
|
||||
# Column 2: 1 unit from the remaining free space
|
||||
# Column 3: 2 unit from the remaining free space
|
||||
|
||||
col_dsc = [60, LV_GRID_FR(1), LV_GRID_FR(2), lv.COORD.MAX]
|
||||
|
||||
# Row 1: fix width 60 px
|
||||
# Row 2: 1 unit from the remaining free space
|
||||
# Row 3: fix width 60 px
|
||||
|
||||
row_dsc = [40, LV_GRID_FR(1), 40, lv.COORD.MAX]
|
||||
|
||||
# Create a container with grid
|
||||
cont = lv.obj(lv.scr_act())
|
||||
cont.set_size(300, 220)
|
||||
cont.center()
|
||||
cont.set_grid_dsc_array(col_dsc, row_dsc)
|
||||
|
||||
for i in range(9):
|
||||
col = i % 3
|
||||
row = i // 3
|
||||
|
||||
obj = lv.obj(cont)
|
||||
# Stretch the cell horizontally and vertically too
|
||||
# Set span to 1 to make the cell 1 column/row sized
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, col, 1,
|
||||
lv.GRID_ALIGN.STRETCH, row, 1)
|
||||
|
||||
label = lv.label(obj)
|
||||
label.set_text("%d,%d"%(col, row))
|
||||
label.center()
|
||||
|
||||
32
examples/layouts/grid/lv_example_grid_4.py
Normal file
32
examples/layouts/grid/lv_example_grid_4.py
Normal file
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# Demonstrate track placement
|
||||
#
|
||||
|
||||
col_dsc = [60, 60, 60, lv.GRID_TEMPLATE.LAST]
|
||||
row_dsc = [40, 40, 40, lv.GRID_TEMPLATE.LAST]
|
||||
|
||||
|
||||
# Add space between the columns and move the rows to the bottom (end)
|
||||
|
||||
# Create a container with grid
|
||||
cont = lv.obj(lv.scr_act())
|
||||
cont.set_grid_align(lv.GRID_ALIGN.SPACE_BETWEEN, lv.GRID_ALIGN.END)
|
||||
cont.set_grid_dsc_array(col_dsc, row_dsc)
|
||||
cont.set_size(300, 220)
|
||||
cont.center()
|
||||
|
||||
|
||||
for i in range(9):
|
||||
col = i % 3
|
||||
row = i // 3
|
||||
|
||||
obj = lv.obj(cont)
|
||||
# Stretch the cell horizontally and vertically too
|
||||
# Set span to 1 to make the cell 1 column/row sized
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, col, 1,
|
||||
lv.GRID_ALIGN.STRETCH, row, 1)
|
||||
|
||||
label = lv.label(obj)
|
||||
label.set_text("{:d}{:d}".format(col, row))
|
||||
label.center()
|
||||
|
||||
52
examples/layouts/grid/lv_example_grid_5.py
Normal file
52
examples/layouts/grid/lv_example_grid_5.py
Normal file
@@ -0,0 +1,52 @@
|
||||
def row_gap_anim(obj, v):
|
||||
obj.set_style_pad_row(v, 0)
|
||||
|
||||
def column_gap_anim(obj, v):
|
||||
obj.set_style_pad_column(v, 0)
|
||||
|
||||
#
|
||||
# Demonstrate column and row gap
|
||||
#
|
||||
|
||||
# 60x60 cells
|
||||
col_dsc = [60, 60, 60, lv.GRID_TEMPLATE.LAST]
|
||||
row_dsc = [40, 40, 40, lv.GRID_TEMPLATE.LAST]
|
||||
|
||||
# Create a container with grid
|
||||
cont = lv.obj(lv.scr_act())
|
||||
cont.set_size(300, 220)
|
||||
cont.center()
|
||||
cont.set_grid_dsc_array(col_dsc, row_dsc)
|
||||
|
||||
for i in range(9):
|
||||
col = i % 3
|
||||
row = i // 3
|
||||
|
||||
obj = lv.obj(cont)
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, col, 1,
|
||||
lv.GRID_ALIGN.STRETCH, row, 1)
|
||||
label = lv.label(obj)
|
||||
label.set_text("{:d},{:d}".format(col, row))
|
||||
label.center()
|
||||
|
||||
a_row = lv.anim_t()
|
||||
a_row.init()
|
||||
a_row.set_var(cont)
|
||||
a_row.set_values(0, 10)
|
||||
a_row.set_repeat_count(lv.ANIM_REPEAT.INFINITE)
|
||||
a_row.set_time(500)
|
||||
a_row.set_playback_time(500)
|
||||
a_row. set_custom_exec_cb(lambda a,val: row_gap_anim(cont,val))
|
||||
lv.anim_t.start(a_row)
|
||||
|
||||
a_col = lv.anim_t()
|
||||
a_col.init()
|
||||
a_col.set_var(cont)
|
||||
a_col.set_values(0, 10)
|
||||
a_col.set_repeat_count(lv.ANIM_REPEAT.INFINITE)
|
||||
a_col.set_time(500)
|
||||
a_col.set_playback_time(500)
|
||||
a_col. set_custom_exec_cb(lambda a,val: column_gap_anim(cont,val))
|
||||
lv.anim_t.start(a_col)
|
||||
|
||||
|
||||
27
examples/layouts/grid/lv_example_grid_6.py
Normal file
27
examples/layouts/grid/lv_example_grid_6.py
Normal file
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# Demonstrate RTL direction on grid
|
||||
#
|
||||
col_dsc = [60, 60, 60, lv.GRID_TEMPLATE.LAST]
|
||||
row_dsc = [40, 40, 40, lv.GRID_TEMPLATE.LAST]
|
||||
|
||||
# Create a container with grid
|
||||
cont = lv.obj(lv.scr_act())
|
||||
cont.set_size(300, 220)
|
||||
cont.center()
|
||||
cont.set_style_base_dir(lv.BASE_DIR.RTL,0)
|
||||
cont.set_grid_dsc_array(col_dsc, row_dsc)
|
||||
|
||||
for i in range(9):
|
||||
col = i % 3
|
||||
row = i // 3
|
||||
|
||||
obj = lv.obj(cont)
|
||||
# Stretch the cell horizontally and vertically too
|
||||
# Set span to 1 to make the cell 1 column/row sized
|
||||
obj.set_grid_cell(lv.GRID_ALIGN.STRETCH, col, 1,
|
||||
lv.GRID_ALIGN.STRETCH, row, 1);
|
||||
|
||||
label = lv.label(obj)
|
||||
label.set_text("{:d},{:d}".format(col, row))
|
||||
label.center()
|
||||
|
||||
Reference in New Issue
Block a user