add ui:editDialog
This commit is contained in:
@@ -15,12 +15,13 @@
|
|||||||
* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар;
|
* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар;
|
||||||
* `ui:showToast(string)` - показывает информационное сообщение в стиле Android;
|
* `ui:showToast(string)` - показывает информационное сообщение в стиле Android;
|
||||||
* `ui:showDialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки;
|
* `ui:showDialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки;
|
||||||
|
* `ui:showEditDialog(string, [string], [string]) - показать диалог с полем ввода: 1 - заголовок, 2 - подпись, 3 - стандартное значения поля ввода;
|
||||||
* `ui:getPrimaryTextColor()` - возвращает цвет текста темы в формате #XXXXXX;
|
* `ui:getPrimaryTextColor()` - возвращает цвет текста темы в формате #XXXXXX;
|
||||||
* `ui:getSecondaryTextColor()` - возвращает цвет вторичного текста (обычно серый) в формате #XXXXXX;
|
* `ui:getSecondaryTextColor()` - возвращает цвет вторичного текста (обычно серый) в формате #XXXXXX;
|
||||||
|
|
||||||
При нажатии на любой элемент интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить.
|
При нажатии на любой элемент интерфейса будет выполнен колбек `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. Например:
|
Функции `ui:showText(string)` и `ui:showLines(string)` поддерживают многие теги HTML. Например:
|
||||||
|
|
||||||
@@ -39,6 +40,8 @@ First line<br/>Second line
|
|||||||
* `system:su(string)` - выполняет shell-команду от имени root;
|
* `system:su(string)` - выполняет shell-команду от имени root;
|
||||||
* `system:getLocation()` - возвращает местоположение в таблице с двумя значениями (запрос местоположения НЕ выполняется, используется значение, сохраненное системой ранее).
|
* `system:getLocation()` - возвращает местоположение в таблице с двумя значениями (запрос местоположения НЕ выполняется, используется значение, сохраненное системой ранее).
|
||||||
|
|
||||||
|
Результат выполнения shell-команды приходит в колбек `onShellResult(string)`.
|
||||||
|
|
||||||
# Функции управления лаунчером
|
# Функции управления лаунчером
|
||||||
|
|
||||||
* `aio:doAction(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html));
|
* `aio:doAction(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html));
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
function onResume()
|
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
|
end
|
||||||
|
|
||||||
function onClick(idx)
|
function onClick(idx)
|
||||||
@@ -7,13 +11,17 @@ function onClick(idx)
|
|||||||
ui:showDialog("Dialog title", "This is dialog")
|
ui:showDialog("Dialog title", "This is dialog")
|
||||||
elseif idx == 2 then
|
elseif idx == 2 then
|
||||||
ui:showDialog("Dialog title", "This is dialog", "Button 1", "Button 2")
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
function onDialogClick(idx)
|
function onDialogAction(value)
|
||||||
if idx == 1 then
|
if value == 1 then
|
||||||
ui:showToast("Button 1 clicked!")
|
ui:showToast("Button 1 clicked!")
|
||||||
elseif idx == 2 then
|
elseif value == 2 then
|
||||||
ui:showToast("Button 2 clicked!")
|
ui:showToast("Button 2 clicked!")
|
||||||
|
elseif type(value) == "string" then
|
||||||
|
ui:showToast("Text: "..value)
|
||||||
end
|
end
|
||||||
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