设置尺寸(SIZE) @lv_obj_pos.h
/**
* @brief 设置对象的大小
* @param obj 指向对象的指针
* @param w the new width
* @param h the new height
*/
void lv_obj_set_size(lv_obj_t * obj, lv_coord_t w, lv_coord_t h);
// 设置对象的宽度
void lv_obj_set_width(lv_obj_t * obj, lv_coord_t w);
// 设置对象的高度
void lv_obj_set_height(lv_obj_t * obj, lv_coord_t h);
对齐 @lv_obj_pos.h
对齐方式
/** Alignments*/
enum {
LV_ALIGN_DEFAULT = 0,
LV_ALIGN_TOP_LEFT,
LV_ALIGN_TOP_MID,
LV_ALIGN_TOP_RIGHT,
LV_ALIGN_BOTTOM_LEFT,
LV_ALIGN_BOTTOM_MID,
LV_ALIGN_BOTTOM_RIGHT,
LV_ALIGN_LEFT_MID,
LV_ALIGN_RIGHT_MID,
LV_ALIGN_CENTER,
LV_ALIGN_OUT_TOP_LEFT,
LV_ALIGN_OUT_TOP_MID,
LV_ALIGN_OUT_TOP_RIGHT,
LV_ALIGN_OUT_BOTTOM_LEFT,
LV_ALIGN_OUT_BOTTOM_MID,
LV_ALIGN_OUT_BOTTOM_RIGHT,
LV_ALIGN_OUT_LEFT_TOP,
LV_ALIGN_OUT_LEFT_MID,
LV_ALIGN_OUT_LEFT_BOTTOM,
LV_ALIGN_OUT_RIGHT_TOP,
LV_ALIGN_OUT_RIGHT_MID,
LV_ALIGN_OUT_RIGHT_BOTTOM,
};
typedef uint8_t lv_align_t;
API
/**
* @brief 参照父对象对齐
* @param obj 指向要对齐的对象的指针
* @param align 对齐类型(参见'lv_align_t' enum)“LV_ALIGN_OUT_…’
*/
void lv_obj_set_align(lv_obj_t * obj, lv_align_t align);
/**
* @brief 更改对象的对齐方式并设置新的坐标
* @param obj 指向要对齐的对象的指针
* @param align 对齐类型(参见'lv_align_t' enum)“LV_ALIGN_OUT_…’
* @param x_ofs 对准后X坐标偏移
* @param y_ofs 对准后Y坐标偏移
*/
void lv_obj_align( lv_obj_t * obj,
lv_align_t align,
lv_coord_t x_ofs,
lv_coord_t y_ofs);
/*
* 相当于:
* lv_obj_set_align(obj, align);
* lv_obj_set_pos(obj, x_ofs, y_ofs);
*/
/**
* @brief 将一个对象与另一个对象对齐(不一定是父对象)
* @param obj 指向要对齐的对象的指针
* @param base 指向另一个对象的指针(如果使用NULL ' obj的父对象)。'obj'将与它对齐。
* @param align 对齐类型(参见'lv_align_t' enum)
* @param x_ofs 对准后X坐标偏移
* @param y_ofs 对准后Y坐标偏移
*/
void lv_obj_align_to( lv_obj_t * obj,
const lv_obj_t * base,
lv_align_t align,
lv_coord_t x_ofs,
lv_coord_t y_ofs);
//注意:如果' base '的位置或大小改变了' obj '需要再次手动对齐