Экранная заставка представляет собой обычное окно, которое периодически меняет различные изображения или динамически отображает некоторые фигуры для достижения эффекта защиты экрана.
Используйте функцию window_manager_set_screen_saver_time для установки времени экранной заставки.
/**
* @method window_manager_set_screen_saver_time
* 设置屏保时间。
* @annotation ["scriptable"]
* @param {widget_t*} widget 窗口管理器对象。
* @param {uint32_t} screen_saver_time 屏保时间(单位毫秒)。
*
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
*/
ret_t window_manager_set_screen_saver_time(widget_t* widget, uint32_t screen_saver_time);
Пример использования:
window_manager_set_screen_saver_time(window_manager(), 180 * 1000);
Пример:
static ret_t close_window_on_event(void* ctx, event_t* e) {
window_close(WIDGET(ctx));
return RET_REMOVE;
}
static ret_t on_screen_saver(void* ctx, event_t* e) {
widget_t* win = NULL;
const char* screen_saver_win = "image_animation";
if (widget_child(window_manager(), screen_saver_win) != NULL) {
log_debug("screen saver exist.\n");
return RET_OK;
}
win = window_open(screen_saver_win);
widget_on(win, EVT_POINTER_MOVE, close_window_on_event, win);
widget_on(win, EVT_POINTER_UP, close_window_on_event, win);
widget_on(win, EVT_KEY_UP, close_window_on_event, win);
return RET_OK;
}
ret_t application_init() {
tk_ext_widgets_init();
/*enable screen saver*/
window_manager_set_screen_saver_time(window_manager(), 180 * 1000);
widget_on(window_manager(), EVT_SCREEN_SAVER, on_screen_saver, NULL);
return show_preload_res_window();
}
Можно в XML установить свойство fullscreen для окна, чтобы окно экранной заставки перешло в полноэкранный режим.
Иногда могут потребоваться следующие требования:
где m < n < k
В этом случае можно установить более короткое время screen_saver_time (например, 5 секунд), и каждый раз при получении события экранной заставки обновлять время бездействия пользователя. На основе этого времени выполнять соответствующие действия.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )