Python For Android. Урок 4. Интерфейс.
Запись от Фаер размещена 10.05.2012 в 23:25
Показов 29390
Комментарии 3
|
Пришла пора разобраться с организацией интерфейса программы. Но, как водится, начнём Мы с деталей: чтобы отобразить какой-либо виджет нужно применить функцию dialogShow() - аналог mainloop() в Python для Widows и Linux. Кроме того, для получения значений действий пользователя используется функция dialogGetResponse(). Не забывайте, что обращение к функции производится через переменную, связанную с Вашим смартфоном!(Если быть более точным, это не функции, а методы). На 1-м уроке я уже описывал функцию: getInput(). Однако её применение может привести к появлению предупреждений в панели сообщений. Чтобы этого избежать следует использовать функцию dialogGetInput(). Кроме простого ввода, имеется ввод в режиме пароля: dialogGetPassword(). Для более высокоуровневого взаимодействия с пользователем можно использовать функцию dialogCreateAlert() - она создаёт своего рода окно, к которому можно прикреплять другие виджеты. Их не так много, но вполне достаточно для "нормального" взаимодействия: 1. Кнопки: dialogSetPositiveButtonText(); dialogSetNegativeButtonText(); dialogSetNeutralButtonText() В скобках обязательно должна быть указана строка, которую Вы хотите прикрепить к кнопке, например "Ок" или "Cancel". Вызов dialogGetResponse() вернёт словарь, следовательно обращаемся к параметру по имени. Результаты соответствуют назначению кнопок: Positive, Negative или Neutral. Например:
dialogSetItems(['Right', 'Left']) - в скобках должен быть список строк - параметров, которые Вы хотите добавить в меню. Вызов dialogGetResponse() тоже вернёт словарь, но с индексом выбранного параметра меню (0(ноль) -первый параметр) 3. Меню с множественным набором (галочки): dialogSetMultiChoiceItems(['first', 'second', 'third']) Обратите внимание: данную функцию следует использовать в связке с кнопками, которые зафиксируют выбор параметров. Чтобы получить результат(выбор пользователя) используем функцию dialogGetSelectedItems(), которая вернёт список выбранных параметров. 4. Меню с единственным выбором(радио-кнопки): dialogSetSingleChoiceItems(['north', 'south']) Для получения результата выбора используем ту же dialogGetSelectedItems(), она так же вернёт список, в котором будет только один элемент(под номером "0"). Эту функцию тоже нужно использовать в связке с кнопками. Вот более сложный виджет. Пишу сразу в скрипте, чтобы Вам понятней было:
Ну и в заключение ещё две функции: dialogCreateTimePicker() - окно установки времени. Чтобы получить результат ввода используем тот же dialogGetResponse() - получаем словарь(обращение по имени). dialogCreateDatePicker() - окно установки даты. Результат аналогичен функции dialogCreateTimerPicker() В функциях: dialogCreateSpinnerProgress(), dialogCreateHorizontalProgress(), dialogGetInput(), dialogGetPassword(), dialogCreateAlert() - в скобках следует передавать две строки: заголовок и сообщение. | |||||||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
-
Я сделал автозагрузку, как только доведу до идеала, выложу сюда новый шаблон, его редактирование останется прежним, но можно будет включить или выключить автозагрузку приложения.Запись от SergeyA размещена 24.05.2012 в 23:39
-
Вроде привёл в порядок, всё работает, протестировал не один раз.
Скачать: [URL="http://ifolder.ru/30699931"]android_template[/URL]
В шаблоне стандартно автозагрузка включена, для того что бы отключить автозагрузку, нужно открыть [B]AndroidManifest.xml[/B] любым текстовым редактором, найти эти сторки:
[XML]
<receiver
android:enabled="true"
android:name=".ScriptAutorun"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action
android:name="android.intent.action.BOOT_COMPLETED"/>
<category
android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
[/XML]
Вместо [B]android:enabled="true"[/B] вписать [B]android:enabled="false"[/B] и наоборот.Запись от SergeyA размещена 25.05.2012 в 02:28
-
Запись от Фаер размещена 25.05.2012 в 18:10



