【问题标题】:Progressbar is not animated on real device进度条在真实设备上没有动画
【发布时间】:2020-12-18 18:00:28
【问题描述】:

我使用原生 C 语言为 Tizen 4.0 创建了一个不确定的进度条:

Evas_Object* progressbar = elm_progressbar_add(parent);
evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

elm_object_style_set(progressbar, "process/small");
elm_progressbar_pulse_set(progressbar, EINA_TRUE);
elm_progressbar_pulse(progressbar, EINA_TRUE);

elm_object_part_content_set(parent, "elm.progress", progressbar);
evas_object_show(progressbar);

这里是“the”官方文档:https://docs.tizen.org/application/native/guides/ui/efl/wearable/component-progressbar

如果我在我的模拟器(x86,Tizen 4.0)上运行上面的代码,我会得到预期的结果:

但是在手表上运行时,它根本不启动:

上面的代码有什么问题?我猜没什么。但是他们的文档一再缺乏信息

更新

仅当您想从事件处理程序中执行此操作时,问题仍然存在:

elm_layout_signal_callback_add(layout, "mouse,clicked,1", "elm.*", show_loader_cb, layout);

static void show_loader_cb(void* data, Evas_Object* object, const char* emission, const char* source) { 
  Evas_Object* parent = reinterpret_cast<Evas_Object*>(data);
  //PUT HERE THE CODE ABOVE 
}

【问题讨论】:

    标签: tizen tizen-native-app


    【解决方案1】:

    您的代码似乎没有问题。

    但进度不正常(第二张图片)是一般状态

    elm_progressbar_pulse(obj, EINA_FALSE);

    再次检查这一点。

    而且我不确定您在事件处理程序部分的意图。

    您是否想在单击布局时添加进度和工作?

    如果是这样,试试这个,

    evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN, show_loader_cb, layout);

    我没有看到你的完整代码,但我猜 show_loader_cb 不是通过回调调用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多