категории | RSS

Создание и управление интерфейсом на Android с Python. ЧАСТЬ 3.

СОЗДАНИЕ И УПРАВЛЕНИЕ ИНТЕРФЕЙСОМ НА ANDROID С PYTHON. ЧАСТЬ 3.



Buenos dias! Сегодня, как и обещал, мы попробуем немного раскрасить наш интерфейс с помощью картинок. А именно: добавим к нашему приложению фон в виде изображения и сделаем небольшую панель инструментов. Поскольку наш сценарий будет использовать картинки и другие файлы, в конце статьи, по ссылке вы можете скачать архив с исходниками. Вот то, что в итоге у нас должно получится.



Скромно и со вкусом. Что будет уметь наша программа? Перед пользователем откроется зеленая рожица Android и три клавиши-иконки слева, в центре и справа внизу. Нажатие на клавишу слева - информация об авроре, правую - выход. Событие по нажатию в центр откроет окно для ввода текста. После подтверждения ввода, фраза будет посимвольно напечатана на экране. В принципе, это все.
Вот макет нашего интерфейса:

main.xml


<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/cloth"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/TextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Full Image"
android:gravity="center"
android:textSize="30dp"
android:textColor="#ffffff"
android:textStyle="bold"/>
<FrameLayout
android:id = "@id+/ViewText"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/buttonClose"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_gravity="bottom|right">
</Button>
<Button
android:id="@+id/buttonInfo"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="bottom|left">
</Button>
<Button
android:id="@+id/buttonStart"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_gravity="bottom|center">
</Button>
</FrameLayout>
</LinearLayout>


Сценарий Python:


# -*- coding: utf-8 -*-

# fullImage.py

import os
import sys

import droidInterface

droid = droidInterface.droid
full_path = os.path.dirname(__file__)
droidInterface.set_menu([("Exit", "ic_menu_close_clear_cancel")])

# лицо нашего приложения по макету main.xml
droid.fullShow(open("%s/res/layout/main.xml" %(full_path)).read())
# фон нашего приложения
# в качестве значения параметру "background"
# мы передаем файл с изображением
# аналогично поступаем с кнопками
# можно не использовать функцию fullSetProperty
# в указать параметрам имена изображений в main.xml
# например android:background="@+id/drawable/имя изображения"
# но у меня этот вариант не работает
droid.fullSetProperty("cloth", "background", "file:///%s/res/drawable/background_programm.png"%(full_path))
# иконка на кнопке внизу справа
droid.fullSetProperty("buttonClose", "background", "file:///%s/res/drawable/exit.png"%(full_path))
# иконка на кнопке внизу слева
droid.fullSetProperty("buttonInfo", "background", "file:///%s/res/drawable/info.png"%(full_path))
# иконка на кнопке внизу в центре
droid.fullSetProperty("buttonStart", "background", "file:///%s/res/drawable/start.png"%(full_path))

while True:
signal = droid.eventWait().result
# событие по нажатию кнопки "Exit" в меню
if signal["name"] == "Exit":
sys.exit()
# событие по нажатию на левую "софт-клавишу"
elif signal["name"] == "click":
if signal["data"]["id"] == "buttonInfo":
droidInterface.query(title="О программе:", message=open("%s/res/data/info.txt" %(full_path)).read())
# событие по нажатию на правую "софт-клавишу"
elif signal["data"]["id"] == "buttonClose":
sys.exit()
# событие по нажатию на центральную "софт-клавишу"
elif signal["data"]["id"] == "buttonStart":
text = droidInterface.input_text(message="Введите текст:", title="Full Image")
# печать текста
if text != None:
string = ""
for item in text:
string += item
droid.fullSetProperty("TextView", "text", string)


Вот, в принципе, и все. Из нового в этой статье было только добавление графики к виджетам Android. Ну, а тем, кто пока еще не в курсе, советую почитать первую и вторую части статьи. Вот проект fullImage.zip - 115.98 Kb За сим разрешите откланяться, Adios, amigos!

Автор: Иванов Юрий.

HeaTTheatR
2013-02-15T15:17:29Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика