我正在使用视频小部件在“相对布局”上设置背景视频,视频大小会自动调整为屏幕大小,这很棒。但是,我希望这样做,只是使用视频的短边以适合屏幕,这样视频才能完全填满屏幕,并且不会留下像这样的“边缘”
我认为在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'