最简单的例子,用squareline创建一个ARC,main和indicator的style设置中给ARC image设置一张图片,ARC就显示不正确了,而且还会打印GE错误。
8.3.1也没好到哪去,任何控件中如果设置了Transform Scale,大概率显示不出来!
希望能解决,否则有做复杂UI需求的就不要进这个坑了。
离线
1. 采用 squareline 在 V9.1.0上 用arc控件出现的问题,可以把生成的代码发一下吧,我测试一下看看
2. V8.3.1上使用transform的相关操作,需要在lv_conf.h中开启宏定义: #define LV_COLOR_SCREEN_TRANSP 1
3. V8.3.1框架对接硬件加速一些接口不友好,我们重点保证V9的使用体验
离线
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.5.1
// LVGL version: 9.1.0
// Project name: test1
#include "../ui.h"
void ui_Screen1_screen_init(void)
{
ui_Screen1 = lv_obj_create(NULL);
lv_obj_remove_flag(ui_Screen1, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_Arc1 = lv_arc_create(ui_Screen1);
lv_obj_set_width(ui_Arc1, 100);
lv_obj_set_height(ui_Arc1, 100);
lv_obj_set_x(ui_Arc1, -116);
lv_obj_set_y(ui_Arc1, -14);
lv_obj_set_align(ui_Arc1, LV_ALIGN_CENTER);
lv_arc_set_value(ui_Arc1, 50);
lv_obj_set_style_arc_image_src(ui_Arc1, &ui_img_trim_background_png, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_image_src(ui_Arc1, &ui_img_trim_forground_png, LV_PART_INDICATOR | LV_STATE_DEFAULT);
}
离线
这段代码在你们的开发板上是显示不出arc的弧线的,只显示一个indicator的小圆点。
离线