add buttons to dialog

This commit is contained in:
Evgeny
2021-07-29 18:01:05 +03:00
parent bb0bdd36a6
commit ae0cdddc9c
2 changed files with 14 additions and 4 deletions

View File

@@ -14,10 +14,12 @@
* `ui:showButtons(table)` - выводит список кнопок; аргумент - таблица строк;
* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар;
* `ui:showToast(string)` - показывает информационное сообщение в стиле Android;
* `ui:showDialog(string, string) - показать диалог; первый аргумент - заголовок, второй - текст;
* `ui:showDialog(string, string, [string], [string]) - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки;
При нажатии на любой элемент интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить.
Нажатия на кнопки диалога также должны обрабатываться в колбеке `onClick(number)`, где 100 - это первая кнопка, 200 - вторая, а -1 - наждатие кнопки закрыть, если никакие кнопки не были указаны.
# Системные функции
* `system:openApp(string)` - открывает приложение, имя пакета которого указано в аргументе;

View File

@@ -1,7 +1,15 @@
function onResume()
ui:showText("Click to open dialog")
ui:showLines({ "Click to open dialog", "Click to open dialog with custom buttons" })
end
function onClick()
ui:showDialog("Dialog title", "This is dialog")
function onClick(idx)
if idx == 1 then
ui:showDialog("Dialog title", "This is dialog")
elseif idx == 2 then
ui:showDialog("Dialog title", "This is dialog", "Button 1", "Button 2")
elseif idx == 100 then
ui:showToast("Button 1 clicked!")
elseif idx == 200 then
ui:showToast("Button 2 clicked!")
end
end