def build(self): # 设置背景尺寸(布局) def update_rect(layout, *args): # 布局矩形位置 = 布局位置 layout.rect.pos = layout.pos # 布局矩形大小 = 布局大小 layout.rect.size = layout.size # 浮动布局 float_layout = FloatLayout() # 浮动布局画布锁 with float_layout.canvas: # 背景颜色 Color(1, 1, 1, 1) # 浮动布局矩形 = 矩形(位置=浮动布局位置,大小=浮动布局大小) float_layout.rect = Rectangle(pos=float_layout.pos, size=float_layout.size) # 浮动布局绑定(位置=布局矩形位置,大小=设置背景尺寸) float_layout.bind(pos=update_rect, size=update_rect) # 在布局内的300,200处添加一个为布局0.3,0.2大小的按钮 button = Button(text='Hello FloatLayout', size_hint=(.3, .2), pos=(300, 200)) # 布局加组件(按钮) float_layout.add_widget(button) # 返回布局 return float_layout
def create_top_bar(self): top_bar = FloatLayout(size_hint=(1, None), size=(1000, 60)) with top_bar.canvas.before: top_bar.rect = Image(source=BKGD_LCHRC, keep_ratio=False, allow_stretch=True, size_hint=(1, 1)) top_bar.bind(pos=self.update_rect, size=self.update_rect) self.page_layout.add_widget(top_bar) return top_bar