Добрый день! Изучил фреймворк Kivy и скомпилировал несколько простых apk-приложений для Android, вроде все более-менее нормально. За 3 месяца я осуществил свою давнюю идею, написал большое приложение для детей, которых обучаю (создал пакет и внутри несколько десятков scripts.py, изображений, ссылок, настроил импорт). При отладке в PyCharm все выглядит идеально, например:
from kivy.config import Config
Config.set("graphics", "resizable", "0")
Config.set("graphics", "width", "360")
Config.set("graphics", "height", "800")
введите сюда описание изображения
Скомпилировано с помощью buildozer. Отладка производилась через Android Studio. Основные проблемы: шрифты намного меньше и все позиции неправильные. Все позиции в FloatLayout неверны (по сравнению с тем, что я вижу в PyCharm). Из-за этого я не могу правильно рисовать линии с помощью fl.canvas. Вот пример с пояснением:
введите сюда описание изображения
Жаль, что я потратил много времени. Подскажите пожалуйста возможные решения?
Скомпилировано через buildozer. Отладка производилась через Android Studio.
Пыталась подключить язык Python в Android Studio, но не получилось, проще было бы отлаживать онлайн.
Сейчас как вариант привязка размеры и положения на Window.width, Window.height, но это придется переделывать и вопрос прорисовки линий до определенных кнопок не решает.
Одна из программ:
from kivy.app import App
from kivy.config import Config
Config.set("graphics", "resizable", "0")
Config.set("graphics", "width", "360")
Config.set("graphics", "height", "800")
from kivy.uix.screenmanager import ScreenManager, Screen, SlideTransition, WipeTransition, NoTransition
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.graphics import Color, Line, Rectangle, BoxShadow
from kivy.uix.widget import Widget
class StatsApp(App):
total =0
def build(self):
main_layout = ScreenManager(transition=NoTransition())
screen_main_menu = Screen(name="quiz")
bl = BoxLayout(orientation="vertical")
main_menu = BoxLayout(size_hint_y=0.29)
w1 = Widget()
bt_menu = Button(text="--Главное меню--", font_size=27, size_hint_x=3,
background_color=[1, 0.55, 0, 1], background_normal="")
w2 = Widget()
with w2.canvas:
Color(1, 1, 0, .5)
# Line(points=(0, 0, 443,997), width=10)
Rectangle(source="bol2.jpg", pos=(358, 907), size=(450 - 359, 1000 - 907))
Rectangle(source="bol2.jpg", pos=(0, 907), size=(450 - 358, 1000 - 907))
for w in (w1, bt_menu, w2):
main_menu.add_widget(w)
# _____________________________________________
bl.add_widget(main_menu)
res = ('никто',"ноль", 'чайник', 'дерево',"ребёнок", 'пацан', 'знаток', 'мастер',
'звезда', 'гений', 'легенда')
ind = StatsApp.total
lb_1 = Label(text=f"Итоговый результат",
size_hint_y=0.6, font_size=45,
halign="center", valign="center", color=[1, 0, 0, 1])
lb_2 = Label(text=f"{ind*10} %",
size_hint_y=0.9, font_size=125,
halign="center", valign="center", color=[1, 0, 0, 1])
lb_text = Label(text=f"Ваш уровень в теории футбола:", halign="center", valign="center"
, font_size=50, color=[1, 0, 0, 1],size_hint_y=0.3)
lb_res=Label(text=f"{res[ind]}", halign="center", valign="center"
, font_size=80, color=[1, 0, 0, 1])
lb_text.text_size = 380, 550
lb_1.text_size = 380, 550
for lb in lb_1,lb_2,lb_text,lb_res:
bl.add_widget(lb)
def go_main_menu(instance: Button):
from nosta_2014 import main as ml
from nosta_2014 import quiz
screen2 = Screen(name="main_menu")
tl = ml.Nosta2014App.build("")
screen2.add_widget(tl)
main_layout.add_widget(screen2)
main_layout.current = "main_menu"
quiz.QuizApp.total = 0
bt_menu.bind(on_press=go_main_menu)
screen_main_menu.add_widget(bl)
main_layout.add_widget(screen_main_menu)
with bl.canvas.before:
Color(1, 1, 0, 1)
Rectangle(pos=(0, 0), size=(447, 1000))
return main_layout
if __name__ == "__main__":
StatsApp().run()
Подробнее здесь: https://stackoverflow.com/questions/791 ... h-the-kivy
Проблема с позиционированием и размерами в апк сделанном через фреймворк Kivy ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проблема с позиционированием и размерами в апк сделанном через фреймворк Kivy
Anonymous » » в форуме Python - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблема с позиционированием и размерами в апк сделанном через фреймворк Kivy
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-