Трябва да покажа някакъв текст и по-късно да анимирам размера на шрифта му. Текстът не трябва да надвишава размера на своята джаджа, така че използвам text_size: self.size
(все пак нямам нищо против текстът да надвишава размера на джаджата си по време на анимация)
Проблемът е, че анимацията на размера на шрифта принуждава текста да се пренареди, което е грозно (червен кръг в изображението се появи там по време на анимация)
Вместо това бих предпочел да надвиши временно този размер.
Как мога да постигна едновременно текстът да не надвишава размера на своя приспособление и по време на анимация с размер на шрифта да надвишава този размер (показан на изображението по-долу)?
Използван код:
from kivy.app import App
from kivy.uix.button import Button
from kivy.animation import Animation
from kivy.lang import Builder
kv = """
<MyWidget>:
text: 'long text...' * 5
text_size: self.size
halign: 'center'
valign: 'middle'
on_release: self.animate_function()
"""
Builder.load_string(kv)
class MyWidget(Button):
def animate_function(self):
initial_font_size = self.font_size
anim = Animation(font_size=initial_font_size * 1.5, duration=2)
anim += Animation(font_size=initial_font_size, duration=2)
anim.start(self)
class MyButtonsApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyButtonsApp().run()