网格
网格组件可以在网格视图中显示组件集。
用法
创建网格组件
开发者可以通过gui_grid_create(parent, x, y, row, col, gap, col, gap_row) 创建网格组件, 按照创建的顺序用控件填充网格。
设置网格样式
开发者可以使用gui_grid_style(grid, style) 进行设置样式,总共有以下两种样式。
/** @brief support two style */
typedef enum
{
GRID_CLASSIC, //!< Evenly layout vertically and horizontally
GRID_SCALE, //!< scale by slide
} T_GUI_GRID_STYLE;
示例
经典样式
#include <gui_obj.h>
#include <gui_grid.h>
#include "gui_magic_img.h"
#include "root_image_hongkong/ui_resource.h"
void page_tb_grid(void *parent)
{
void *array[] = {CLOCK_BIN, EMAIL_BIN, SPORT_BIN, SLEEP_BIN, MAP_BIN};
gui_grid_t *grid = gui_grid_create(parent, 0, 0, 2, 3, 210, 100);
gui_grid_style(grid, GRID_CLASSIC);
for (size_t i = 0; i < 5; i++)
{
gui_img_creat_from_mem(grid, "1", array[i], 0, 0, 0, 0);
}
}
API
Enums
Functions
-
gui_grid_t *gui_grid_create(void *parent, int16_t x, int16_t y, int16_t row, int16_t col, uint16_t gap_col, uint16_t gap_row)
create a grid widget.
- 参数:
parent – the father widget the grid nested in.
x – the X-axis coordinate.
y – the Y-axis coordinate.
row – Rows number.
col – Columns number.
gap_col – gap between two Columns.
gap_row – gap between two Rows.
- 返回:
return the widget object pointer Example usage
{ void *array[] = { DOG40_BIN, DOG60_BIN, DOG80_BIN, DOG100_BIN, DOG120_BIN, DOG140_BIN, DOG160_BIN, DOG180_BIN, DOG200_BIN, DOG220_BIN, DOG240_BIN,}; gui_grid_t *grid = gui_grid_create(&(app->screen), 100, 200, 7 , 2, 30, 30); for (size_t i = 0; i < 6; i++) { gui_img_creat_from_mem(grid, "grid_image", array[i], 0, 0, 0, 0); }}
-
void gui_grid_style(gui_grid_t *grid, T_GUI_GRID_STYLE style)
config grid style
- 参数:
grid – grid wodget pointer
style – GRID_CLASSIC, GRID_SCALE Example usage
{ void *array[] = { DOG40_BIN, DOG60_BIN, DOG80_BIN, DOG100_BIN, DOG120_BIN, DOG140_BIN, DOG160_BIN, DOG180_BIN, DOG200_BIN, DOG220_BIN, DOG240_BIN,}; gui_grid_t *grid = gui_grid_create(&(app->screen), 100, 200, 7 , 2, 30, 30); gui_grid_style(grid, GRID_SCALE); for (size_t i = 0; i < 6; i++) { gui_img_creat_from_mem(grid, "grid_image", array[i], 0, 0, 0, 0); }}
-
struct gui_grid_t
- #include <gui_grid.h>
Public Members
-
int16_t row
-
int16_t col
-
uint16_t gap_col
-
uint16_t gap_row
-
uint16_t gap_col_scale
-
uint16_t gap_row_scale
-
float scale
-
int yold
-
int start_x
-
int start_y
-
int id_offset
-
int row_count
-
bool row_count_flag
-
bool col_count_flag
-
T_GUI_GRID_STYLE style
-
int col_count
-
int change_threshold
-
int16_t row