屏幕旋转
4 Dec 2024
Read time: 1 minute(s)
本节展示了基于
LVGL 的 UI
框架,实现横屏竖用、竖屏横用的方式。以下方式任选一种,详细流程如下:
- 静态旋转
-
在 packages/artinchip/lvgl-ui/lv_driver/lv_fbdev.h 文件中,使能 USE_DRAW_BUF 宏定义,开启转屏缓存:
... #define USE_DRAW_BUF ...
-
在 packages/artinchip/lvgl-ui/lv_driver/lv_port_disp.c 文件中,设置旋转角度。
如下所示,旋转角度设置为 90 度:/* when define USE_DRAW_BUF, disp_drv.rotated can be LV_DISP_ROT_90/LV_DISP_ROT_180/LV_DISP_ROT_270 */ disp_drv.rotated = LV_DISP_ROT_90; // 设置旋转 90 度,共有三种角度可选:90、180、270
-
- 动态旋转
在程序运行到需要进行旋转屏幕时,调用 lv_disp_set_rotation。
API 定义在 packages/artinchip/lvgl-ui/lvgl/src/hal/lv_hal_disp.c 。