Я использую виджет видео, чтобы установить фоновое видео на Относительный макет, размер видео автоматически подстраивается под размер экрана, и это здорово.Однако я хотел бы, чтобы он делал то же самое, но использовал бы короткую сторону видео для подгонки к экрану, чтобы видео полностью заполняло экран и не оставляло таких «краев», как это
Я подумал, что использование пористой разницы виджета с экраном в файле kv с помощью: size_hint: 1, 1+(root.width-self.width)/root.width
исправит его, но обе ширины кажутся равными.
Мои файлы
MainApp.py:
import os
os.environ['KIVY_VIDEO']='ffpyplayer'
import kivy
kivy.require('1.11.1')
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.video import Video
from kivy.clock import Clock
class Login(Screen):
pass
class Loop(Video):
def __init__(self, **kwargs):
super(Loop, self).__init__(**kwargs)
Clock.schedule_interval(self.restart, 3)
print(self.width)
def restart(self, dt):
if self.eos:
self.position=0
self.state='play'
class MainApp(App):
def build(self):
sm = ScreenManager()
sm.add_widget(Login(name='Login'))
return sm
if __name__ == '__main__':
app = MainApp()
app.run()
app.kv:
<Login>:
Loop:
size_hint: 1, 1+(root.width-self.width)/root.width
source: 'bg_panteras.mp4'
state: 'play'
on_eos: 'loop'
BoxLayout:
padding: 50
orientation: 'vertical'
Label:
text: 'Panteras'
font_size: '24dp'
Label:
size_hint: 1, 2
Button:
text: 'feisbuk'
Label:
size_hint: 1, 0.5
Button:
text: 'Invitado'