【发布时间】:2021-04-29 11:31:06
【问题描述】:
我现在正在创建一个 kivy 应用程序。我对 Kivy 和 kv lang 还是很陌生,虽然我发现分离代码逻辑和布局非常好,尤其是在一些 pygame 开发之后,但没有太多关于它的传言。 所以对于我的实际问题:我有一个 wiki 风格的屏幕管理器屏幕,由 BoxLayout 组成:
- 标题作为标签
- 文本的可滚动标签(稍后会显示嵌套的kv文件)
- 导航按钮(向上滚动并返回主屏幕)
现在,我将导航按钮重新创建为许多网页和应用程序中已知的浮动类型。问题是,我突然不能再引用我的 ScrollView 了。有什么帮助或建议吗?
<Wiki>:
name: "wiki"
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: "picture.jpg"
BoxLayout:
id: box
orientation: "vertical"
padding: 10
spacing: 10
Label:
font_size: 20
size_hint_y: .1
text: root.country_text
ScrollView:
id: scrlvw
BackgroundLabel:
background_color: 220,220,220, 0.5
size_hint_y: None
text_size: self.width, None
height: self.texture_size[1]
halign: "left"
valign: "top"
text: root.wiki_text
FloatLayout:
size_hint_y: .1
Button:
size_hint_x: .2
pos_hint: {"center_x": .25, "center_y": .5}
text: "Back"
on_release:
app.root.current = "main"
root.manager.transition.direction = "right"
FloatButton:
size_hint_x: .2
pos_hint: {"center_x": .75, "center_y": .5}
text: "Up"
on_release:
widget = BoxLayout()
widget.ids.scrlvw.scroll_y = 0
之前,当它起作用时,它是:
BoxLayout:
FloatLayout:
size_hint_y: .1
Button:
size_hint_x: .2
pos_hint: {"center_x": .25, "center_y": .5}
text: "Back"
on_release:
app.root.current = "main"
root.manager.transition.direction = "right"
Button:
size_hint_x: .2
pos_hint: {"center_x": .75, "center_y": .5}
text: "Up"
on_release:
scrlvw.scroll_y = 0
好吧,这只是一个设计问题,我想我暂时不得不放弃浮动设计。但如果您能帮助我更好地理解这种语言,我会非常高兴。
【问题讨论】:
标签: python android kivy kivy-language