add ui:prepare_context_menu
This commit is contained in:
18
README_ru.md
18
README_ru.md
@@ -54,6 +54,24 @@ First line<br/>Second line
|
||||
|
||||
Нажатия на кнопки диалога должны обрабатываться в колбеке `on_dialog_action(number)`, где 1 - это первая кнопка, 2 - вторая, а -1 - нажатие кнопки "закрыть", если никакие кнопки не были указаны. `ui:show_edit_dialog()` возвращает текст в колбек `on_dialog_action(text)`.
|
||||
|
||||
# Контекстное меню
|
||||
|
||||
* `ui:prepare_context_menu(table)` - функция подготавливает контекстное меню, которое будет автоматически показано при долгом удержании элемента на экране.
|
||||
|
||||
В качестве аргумента функция принимает таблицу таблиц с иконками и названиями элементов меню. Например, следующий код подготовит контекстное меню из трех элементов:
|
||||
|
||||
```
|
||||
ui:prepare_context_menu({
|
||||
{ "share", "Menu item 1" },
|
||||
{ "copy", "Menu item 2" },
|
||||
{ "trash", "Menu item 3" },
|
||||
})
|
||||
```
|
||||
|
||||
Здесь `share`, `copy` и `trash` - это названия иконок, которое можно узнать на сайте [Fontawesome](https://fontawesome.com/).
|
||||
|
||||
При нажатии на любой элемент меню будет вызван колбек `function on_context_menu_click(item_idx, menu_idx)`, первый аргумент которого это индекс элемента, для которого было вызвано меню, а второй - индекса элемента самого меню.
|
||||
|
||||
# Системные функции
|
||||
|
||||
* `system:open_app(string)` - открывает приложение, имя пакета которого указано в аргументе;
|
||||
|
||||
15
samples/menu-sample.lua
Normal file
15
samples/menu-sample.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
function on_resume()
|
||||
ui:show_lines({
|
||||
"1 item", "2 item", "3 item"
|
||||
})
|
||||
|
||||
ui:prepare_context_menu({
|
||||
{ "share", "Menu item 1" },
|
||||
{ "copy", "Menu item 2" },
|
||||
{ "trash", "Menu item 3" },
|
||||
})
|
||||
end
|
||||
|
||||
function on_context_menu_click(item_idx, menu_idx)
|
||||
ui:show_toast("Clicked "..menu_idx.." menu item on "..item_idx.." screen element")
|
||||
end
|
||||
Reference in New Issue
Block a user