Mario 发表于 2023-11-14 19:43:37

lv_btn_create(lv_scr_act())生成的界面可以拖动

lv_obj_t *window = lv_btn_create(lv_scr_act());   


使用这种方式生成window 界面,是可以拖动,这是为什么?

使用的lvgl版本是8.3

eric2013 发表于 2023-11-15 00:46:11

帮你使用我们的8.3.8版本测试了,默认配置无法拖动。

基于V5,V6和V7的LVGL模板,驱动支持单缓冲,双缓冲和配合硬件消隐的双缓冲,以及电容和电阻触摸全支持(2023-07-19)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=120161

#include "../../lv_examples.h"
#if LV_USE_BTN && LV_BUILD_EXAMPLES

static void event_handler(lv_event_t * e)
{
    lv_event_code_t code = lv_event_get_code(e);

    if(code == LV_EVENT_CLICKED) {
      LV_LOG_USER("Clicked");
    }
    else if(code == LV_EVENT_VALUE_CHANGED) {
      LV_LOG_USER("Toggled");
    }
}

void lv_example_btn_1(void)
{
    lv_obj_t * label;

    lv_obj_t * btn1 = lv_btn_create(lv_scr_act());
    lv_obj_add_event_cb(btn1, event_handler, LV_EVENT_ALL, NULL);
    lv_obj_align(btn1, LV_ALIGN_CENTER, 0, -40);

    label = lv_label_create(btn1);
    lv_label_set_text(label, "Button");
    lv_obj_center(label);

    lv_obj_t * btn2 = lv_btn_create(lv_scr_act());
    lv_obj_add_event_cb(btn2, event_handler, LV_EVENT_ALL, NULL);
    lv_obj_align(btn2, LV_ALIGN_CENTER, 0, 40);
    lv_obj_add_flag(btn2, LV_OBJ_FLAG_CHECKABLE);
    lv_obj_set_height(btn2, LV_SIZE_CONTENT);

    label = lv_label_create(btn2);
    lv_label_set_text(label, "Toggle");
    lv_obj_center(label);
}
#endif





Mario 发表于 2023-11-15 11:20:44

eric2013 发表于 2023-11-15 00:46
帮你使用我们的8.3.8版本测试了,默认配置无法拖动。

基于V5,V6和V7的LVGL模板,驱动支持单缓冲,双缓 ...

你好,我使用官方的demo例子也能将整个画面进行拖拽,打印画面的坐标是保持不变,请问是哪个配置相关呢

eric2013 发表于 2023-11-15 11:22:53

Mario 发表于 2023-11-15 11:20
你好,我使用官方的demo例子也能将整个画面进行拖拽,打印画面的坐标是保持不变,请问是哪个配置相关呢
可以下载我们的例子,直接将你库和配置文件替换成我们的试试。然后锁定下是那里的问题。

Mario 发表于 2023-11-15 18:07:59

eric2013 发表于 2023-11-15 11:22
可以下载我们的例子,直接将你库和配置文件替换成我们的试试。然后锁定下是那里的问题。

谢谢,是theme的问题。如何将主界面透明呢,透明是为了底下可以放视频层
页: [1]
查看完整版本: lv_btn_create(lv_scr_act())生成的界面可以拖动