add ui:editDialog
This commit is contained in:
@@ -15,12 +15,13 @@
|
||||
* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар;
|
||||
* `ui:showToast(string)` - показывает информационное сообщение в стиле Android;
|
||||
* `ui:showDialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки;
|
||||
* `ui:showEditDialog(string, [string], [string]) - показать диалог с полем ввода: 1 - заголовок, 2 - подпись, 3 - стандартное значения поля ввода;
|
||||
* `ui:getPrimaryTextColor()` - возвращает цвет текста темы в формате #XXXXXX;
|
||||
* `ui:getSecondaryTextColor()` - возвращает цвет вторичного текста (обычно серый) в формате #XXXXXX;
|
||||
|
||||
При нажатии на любой элемент интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить.
|
||||
|
||||
Нажатия на кнопки диалога должны обрабатываться в колбеке `onDialogClick(number)`, где 1 - это первая кнопка, 2 - вторая, а -1 - нажатие кнопки "закрыть", если никакие кнопки не были указаны.
|
||||
Нажатия на кнопки диалога должны обрабатываться в колбеке `onDialogAction(number)`, где 1 - это первая кнопка, 2 - вторая, а -1 - нажатие кнопки "закрыть", если никакие кнопки не были указаны. `ui:editDialog()` возвращает текст в колбек `onDialogAction(text)`.
|
||||
|
||||
Функции `ui:showText(string)` и `ui:showLines(string)` поддерживают многие теги HTML. Например:
|
||||
|
||||
@@ -39,6 +40,8 @@ First line<br/>Second line
|
||||
* `system:su(string)` - выполняет shell-команду от имени root;
|
||||
* `system:getLocation()` - возвращает местоположение в таблице с двумя значениями (запрос местоположения НЕ выполняется, используется значение, сохраненное системой ранее).
|
||||
|
||||
Результат выполнения shell-команды приходит в колбек `onShellResult(string)`.
|
||||
|
||||
# Функции управления лаунчером
|
||||
|
||||
* `aio:doAction(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html));
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
function onResume()
|
||||
ui:showLines({ "Click to open dialog", "Click to open dialog with custom buttons" })
|
||||
ui:showLines({
|
||||
"Click to open dialog",
|
||||
"Click to open dialog with custom buttons",
|
||||
"Click to open edit dialog",
|
||||
})
|
||||
end
|
||||
|
||||
function onClick(idx)
|
||||
@@ -7,13 +11,17 @@ function onClick(idx)
|
||||
ui:showDialog("Dialog title", "This is dialog")
|
||||
elseif idx == 2 then
|
||||
ui:showDialog("Dialog title", "This is dialog", "Button 1", "Button 2")
|
||||
elseif idx == 3 then
|
||||
ui:showEditDialog("Dialog title", "Write any text", "default text")
|
||||
end
|
||||
end
|
||||
|
||||
function onDialogClick(idx)
|
||||
if idx == 1 then
|
||||
function onDialogAction(value)
|
||||
if value == 1 then
|
||||
ui:showToast("Button 1 clicked!")
|
||||
elseif idx == 2 then
|
||||
elseif value == 2 then
|
||||
ui:showToast("Button 2 clicked!")
|
||||
elseif type(value) == "string" then
|
||||
ui:showToast("Text: "..value)
|
||||
end
|
||||
end
|
||||
|
||||
29
shell-widget.lua
Normal file
29
shell-widget.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- name = "Shell widget"
|
||||
-- description = "Shows the result of executing console commands"
|
||||
-- type = "widget"
|
||||
-- author = "Evgeny Zobnin (zobnin@gmail.com)"
|
||||
-- version = "1.0"
|
||||
|
||||
currentOutput = "empty"
|
||||
|
||||
function onResume()
|
||||
redraw()
|
||||
end
|
||||
|
||||
function redraw()
|
||||
ui:showText(currentOutput)
|
||||
end
|
||||
|
||||
function onClick(idx)
|
||||
ui:showEditDialog("Enter command")
|
||||
end
|
||||
|
||||
function onDialogAction(text)
|
||||
system:exec(text)
|
||||
end
|
||||
|
||||
function onShellResult(text)
|
||||
currentOutput = text
|
||||
redraw()
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user