FullScreenWrapper2 Framework

class fullscreenwrapper2.FullScreenWrapper2App

главный объект фреймверка, не надо создавать экземпляры данного класса, надо только использовать методы класса

close_layout()

закрытвает лэйаут, если данный лейаут был отображен поверх другого. то на экране отобразится родительский.

event_loop()

активизирует эвентлуп

exit_FullScreenWrapper2App()

выходит из приложения

get_android_instance()

возвращает текущий экземпляр дроида

get_property_value(id, property)

возвращает значение атрибута объекта

Parameters
  • id – иди объекта

  • property – атрибут объекта

initialize(droid)

инициализация фреймверка

Parameters

droid – droid.Android()

set_list_contents(id, list)

задает новый список для вью

Parameters
  • id – иди объекта

  • list – новый список

set_property_value(id, property, value)

задает новое свойство для атрибута объекта

Parameters
  • id – иди объекта

  • property – атрибут объекта

  • value – значение

show_layout(layout, show_mode=SHOW_LAYOUT_PUSH_OVER_CURRENT)

отображает лэйаут

Parameters
  • layoutLayout

  • show_mode – тип отображения лейаута

SHOW_LAYOUT_PUSH_OVER_CURRENT

отображать лейаут поверх старого

SHOW_LAYOUT_REPLACING_CURRENT

отображает лейаут заменив текущий

class fullscreenwrapper2.Layout(xml, title)

Абстрактный объект, типа активити. Необходимо создать свой лейаут, отнаследовавшись от этого объекта и перекрыть методы on_show и on_close.

Parameters
  • xml (str) – активити в формате xml

  • title (str) – заголовк окна

add_event(eventhandler)

вешает обработчик на сам активити

Parameters

eventhandlerclick_EventHandler, key_EventHandler, ‘itemclick_EventHandlers’

on_close()

закрытие активити

on_show()

отображает активити на экране, перед этим инициализируя все объекты активити. Без этого метода ни один из объектов активити не инициализируется. И все работы с объектами активити необходимо проводить тут, навешивание хендлеров и т.п.

remove_event(self, event_name)

удаляет определнный евент из активити

views

атрибут, через которые можно обращаться ко всем контролам активити. Представляет из себя словарь, к ключам которым можно обращаться как через точку, так и обычно, как в словарях.

class fullscreenwrapper2.click_EventHandler(view, handler_function=None)

класс, для навешивания обработчиков на клик по объектам активити

Parameters
  • view – какой-то контролл

  • handler_function – функция обработчик

class fullscreenwrapper2.itemclick_EventHandlers(view, handler_function=None)

класс, для навешивания обработчиков

Parameters
  • view – какой-то контролл

  • handler_function – функция обработчик

class fullscreenwrapper2.key_EventHandler(key_match_id="4", view=None, handler_function=None)

класс, для навешивания обработчиков на кнопки

Parameters
  • key_match_id – иди кнопки, по дефолту = 4, кнопка назад

  • handler_function – функция обработчик

  • view – вью

import android, random
from fullscreenwrapper2 import *

class DemoLayout(Layout):
    def __init__(self):
        super(DemoLayout,self).__init__(xmldata,"FullScreenWrapper Demo")

    def on_show(self):
        self.add_event(key_EventHandler(handler_function=self.close_app))
        self.views.but_change.add_event(click_EventHandler(self.views.but_change, self.change_color))
        self.views.but_exit.add_event(click_EventHandler(self.views.but_exit, self.close_app))
        self.views.txt_colorbox.background="#ffffffff"

    def on_close(self):
        pass

    def close_app(self,view,event):
        FullScreenWrapper2App.exit_FullScreenWrapper2App()

    def change_color(self,view, event):
        colorvalue = "#ff"+self.get_rand_hex_byte()+self.get_rand_hex_byte()+self.get_rand_hex_byte()
        self.views.txt_colorbox.background=colorvalue

    def get_rand_hex_byte(self):
        j = random.randint(0,255)
        hexrep = hex(j)[2:]
        if(len(hexrep)==1):
            hexrep = '0'+hexrep
        return hexrep

if __name__ == '__main__':
    droid = android.Android()
    random.seed()
    FullScreenWrapper2App.initialize(droid)
    FullScreenWrapper2App.show_layout(DemoLayout())
    FullScreenWrapper2App.eventloop()