подробный поиск  

Создание и управление интерфейсом на Android с Python. Создание и управление интерфейсом на Android с Python. Часть 5.


Всем привет! После долгого перерыва связанным решил продолжить серию статей, посвященных разработке интерфейса под платформу Android на языке программирования Python.
И сегодня мы, как всегда, будем опровергать распространенное мнение, что якобы до сих пор в проектах Python for Android (далее P4A) не построить приличного интерфейса, кроме как общение с пользователем посредством диалоговых окон. Так считают те, кто просто не умеет и, главное, не хочет учится и развиваться в этом направлении.
На самом деле, в построении интерфейса P4A нет ничего сложного и, лично для меня, его программирование значительно проще и удобнее, чем на, ныне мертвой, платформе Symbian.
Собственно, сегодняшняя статья и примеры в ней, в отличие от предыдущих, будут не демонстративно-показательны, а максимально приближены к работе реального приложения. Мы рассмотрим переключение layout-ов в приложениях P4A на примере разрабатываемого мною клиента "HeaTDV4A" для нашего сайта и заодно протестуем работу модуля pySetting (подробнее об эксплуатации модуля читайте в документации самого модуля).




Ранее, функцией fullShow("путь к макету") я подключал различные интерфейсы в одном скрипте. На моем старом устройстве это приводило к тому, что на секунду первый макет интерфейса исчезал, как будто бы приложение закрылось, и через секунду появлялся второй вызваный макет. Это было неприемлемо и эстетически некрасиво. Тогда я попробовал помещать подключение новых layout-oв в отдельные модули, после чего данная проблема была решена. На новом девайсе подобных траблов, связанных с миганием дисплея, я не замечал, однако с тех пор приучил себя разбивать вызовы макетов интерфейса на модули. Во-первых, это делает код намного читабельней и понятней как для других программистов, так и для вас самих. Во-вторых, если вы вызвали функцию fullShow и открыли второй макет интерфейса, чтобы вернуться к первому экрану, вам придется либо заново "рисовать" главный экран поверх второго, либо вызвать функцию fullDismiss. Во втором случае вы закроете все вызваные функцией fullShow макеты интерфейса, что, согласитесь, нам не нужно.
Итак, от слов к делу! Давайте "нарисуем" два макета интерфейса и попробуем вывести на экран сначала первый, а затем второй при условии, что второй макет находится в отдельном модуле.




Файл program.py

python





Запустив пример, мы увидим следующее:









Теперь если выбрать "Меню/Настройки" нам откроется новый экран с пунктами настроек программы.









Нажав клавишу "Возврат" мы благополучно попадем в экран первого макета.




На этом пока все. Вот ссылка на архив примера. Распаковать папку P4A в папку sl4a.




Автор: Иванов Юрий, aka HeaTTheatR
-----------------
Оставить комментарии можно в разделе Каталог статей Создание и управление интерфейсом на Android с Python. Часть 5



Рейтинг:
голосов: 1


Здесь находятся: всего 0. За сутки здесь было 0 человек(а)