doc:appunti:prog:kivy
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:prog:kivy [2019/02/25 11:24] – [Using the Widget Class] niccolo | doc:appunti:prog:kivy [2023/10/07 19:53] (current) – [Logging] niccolo | ||
---|---|---|---|
Line 69: | Line 69: | ||
===== A Real App With an ActionBar ===== | ===== A Real App With an ActionBar ===== | ||
+ | |||
+ | **kivywindowexample.py** | ||
+ | |||
+ | <code python> | ||
+ | # | ||
+ | from kivy.app import App | ||
+ | # | ||
+ | from kivy.uix.widget import Widget | ||
+ | |||
+ | class MyWidget(Widget): | ||
+ | pass | ||
+ | |||
+ | class KivyWindowExampleApp(App): | ||
+ | def build(self): | ||
+ | return MyWidget() | ||
+ | |||
+ | if __name__ == " | ||
+ | KivyWindowExampleApp().run() | ||
+ | </ | ||
+ | |||
+ | **kivywindowexample.kv** | ||
+ | |||
+ | < | ||
+ | < | ||
+ | font_size: 28 | ||
+ | color: 0,1,0,1 | ||
+ | size_hint: 0.3, 0.2 | ||
+ | |||
+ | < | ||
+ | BoxLayout: | ||
+ | size: root.size | ||
+ | orientation: | ||
+ | ActionBar: | ||
+ | pos_hint: {' | ||
+ | ActionView: | ||
+ | use_separator: | ||
+ | ActionPrevious: | ||
+ | title: " | ||
+ | with_previous: | ||
+ | ActionOverflow: | ||
+ | ActionButton: | ||
+ | text: " | ||
+ | ActionButton: | ||
+ | text: " | ||
+ | ActionButton: | ||
+ | text: "New Game" | ||
+ | FloatLayout: | ||
+ | MyButton: | ||
+ | text: "Pos 0, 0" | ||
+ | pos_hint: {' | ||
+ | MyButton: | ||
+ | text: " | ||
+ | pos_hint: {' | ||
+ | MyButton: | ||
+ | text: "Pos right-top" | ||
+ | pos_hint: {' | ||
+ | MyButton: | ||
+ | text: "Pos 0.5, 1.0" | ||
+ | pos_hint: {' | ||
+ | </ | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | |||
+ | ===== Logging ===== | ||
+ | |||
+ | Like a plain Python program, it is possible for a Kivy app to produce some logging using the Kivy logger. The output will go, by default, to a file created into the app home directory, into the **files/ | ||
+ | |||
+ | <code python> | ||
+ | from kivy.logger import Logger, LOG_LEVELS | ||
+ | # Set the loglevel. The Android log file will be create into | ||
+ | # [app_home]/ | ||
+ | Logger.setLevel(LOG_LEVELS[' | ||
+ | Logger.info(' | ||
+ | </ | ||
+ | |||
+ | Without root privileges it is not possibile for another Android app (e.g. a file browser) to access the log directory. The Kivy **app home** will be into the adopted SD card, under something like this: | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | In older Android versions (e.g. Android 8) the app home directory will be something like: | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Every time that the Kivy environment is initializated, | ||
+ | |||
+ | |||
doc/appunti/prog/kivy.1551093887.txt.gz · Last modified: 2019/02/25 11:24 by niccolo