2-4-1_基础对象的大小(size)

https://lvgl.100ask.net/9.2/overview/coord.html

实践部分

 void lesson _2_4_ 1( void)

lv_obj_t *obj = 1v_obj_create(1v_screen_active());

// Lv_obj_ set_ width(obj,300);

//Lv_obj_set_ height(o bj,500);

//Lv_obj_set_size(obj,300,300);

// Lv_obj_updat e_Layout(o bj);

//LV_LOG_USER("w:%d\n",Lv_obj_get_width(obj));

//LV_LOG_USER("h:%d\n",Lv_obj_get_height(obj));

//LV_LOG_USER("content_w: %d",Lv_obj _get _content_width(obj));

//LV_LOG_USER("content_h:%d",Lv_obj_get_content_height(obj));

#endif /*LV_USE_LESSON_DEMO_2_4_1 */

LVGL port Windows CodeBlocks. https://lvgl.io |https://docs.lvgl.io

void lesson_2_4_1(void)

lv_obj_t *obj = lv_obj_create(lv_ screen_active());

lv_obj_set_ width (obj,300 );

//Lv_ obj_set_height(obj,500);

//Lv_obj_set_size(obj,300,300);

//Lv_ obj_update_Layout(o bj);

//LV_LOG_USER("w:%d\n",Lv_obj_get_width(obj));

//LV_LOG_USER("h:%d\n",Lv_obj_get_height(obj));

//LV_LOG_USER("content_w:%d",Lv_obj_get_content_width(obj));

//LV_LOG_USER("content_h:%d",Lv_obj_get_content_height(obj));

#endif /*LV_USE_LESSON_DEMO_2_4_1*/

 

void lesson _2_4_ 1( void)

lv_obj_t *obj = lv_obj _create(1v_screen_active());

lv_obj_set_ width( obj,300 );

1v_obj_set_height (obj,500 );

// Lv_ obj_set_size(obj,300,300);

//Lv _obj_update_Layout(o bj);

//LV_LOG_USER("w:%d\n", Lv_obj_get_ width(obj));

//LV_LOG_USER("h:%d\n",Lv_obj_get_height(obj));

//LV_LOG_USER("content_w:%d",Lv_obj_get_content_width(obj));

//LV_LOG_USER("content_h:%d",Lv_obj_get_content_height(obj));

#endif /*LV_USE_LESSON_DEMO_2_4_1*/

void lesson _2_4_ 1( void) 60

lv_obj_t *obj = lv_obj_create(1v_screen_active());

 // Lv_obj_ set_ width(obj,300);

 // Lv_obj_set_height(obj,500);

 Iv_obj_set _size( obj, 300,300 ); //Lv_ obj_updat e_Layout(o bj);

//LV_LOG_USER("w:%d\n",Lv_obj_get_width(obj));

//LV_LOG_USER("h:%d\n",Lv_obj_get_height(obj));

 //LV_LOG_USER("content_ w:%d",Lv_obj_ get_content_width(obj));

//LV_LOG_USER("content_h:%d",Lv_obj_get_content_height(obj)); 

#endif /*LV_USE_LESSON_DEMO_2_4_1 */ 

▶显示原文

本节描述LVGL的行为可能会出现出乎意料的特殊情况。

Postponed coordinate calculation ( 坐标会被延迟计算)

▶显示原文

LVGL不会立即重新计算所有坐标变化,这样做是为了提高性能。相反,对象会被标记为“脏 ( dirty)”, 在重新绘制屏幕之前, LVGL会检查是否有任何dity 对象。如果有,则会刷新它 们的位置、大小和布局。

换句话说,如果您需要获取一个对象的坐标,并且坐标刚刚发生了变化,需要强制LVGL重新计算坐标。要做到这一点,请调用1v_obj_pdateLlayout()。

大小和位置可能取决于父级或布局。因此, 1v_obj_update_layout() 会重新计算 obj 屏幕上所有对象的坐标。

Do i--1( mI 式

https://lvgl.100ask.net/9.2/overview/coord.html

void lesson_2_4_1(void)

lv_obj_t *obj = lv_obj_ create(lv_ screen_active());

//Lv_ obj_ set_width(obj,300);

//Lv_ obj_set_height(obj,500);

lv_obj_ set _size( obj, 300,30 0);

lv_obj_ update_layout (obj);

LV_LOG_USER("w:%d\n", lv_o bj_get_width( obj));

LV_LOG_USER("h:%d\n", lv_obj_get_height( obj));

LV_LOG_USER("content_ w:%d", lv_obj_get_ content_width (obj));|

LV_LOG_USER("content_ h:%d", lv_obj_get_content_height( obj));

#endif /*LV_USE_LESSON_DEMO_2_4_ 1*/

void lesson_2_4_1( void)

lv_obj_t *obj = 1v_obj _create(1v_screen_active());

//Lv_obj_ set_width(ob j,300);

//Lv_obj_set_height(obj,500);

lv_obj_ set_size( obj,3 00,300 );

lv_ obj_update_ layout (obj );

LV_LOG_USER("w:%d\n",1 v_obj_get_width(obj));

LV_LOG_USER("h:%d\n", 1v_obj_get_height( obj));

LV_LOG_USER("content _w:%d\n", 1v_obj_ get_ content_width( obj));

LV_LOG_USER("content _h:%d\n", lv_obj_get _content_ height( obj)); obj = 1v_obj_create( ob j);

上述是因为存在盒子模型,会有一定的间距这个间距可以自己设置

▶显示原文

LVGL遵循CSS的 border-box 模型。一个对象的“盒子”由以下部分构成:

·边界框:元素的宽度/高度。

·边框宽度:边框的宽度。

· 内边距:对象与其子元素之间的间距。

· 外边距:对象外部的间距(仅由某些布局考虑)

· 内容:内容区域,即边界框减去边框宽度和内边距的大小。

posted @ 2026-07-29 16:25  哲别羽  阅读(4)  评论(0)    收藏  举报