这是我的test.kv文件:
BoxLayout:
BoxLayout:
orientation: 'vertical'
size_hint: None, None
height: '160sp'
width: '380sp'
pos_hint: {'center_x': .5, 'center_y': .5}
BoxLayout:
Label:
text: 'UserName'
TextInput:
id: user_name
text: ''
BoxLayout:
Label:
text: 'Password'
TextInput:
id: password
password: True
text: ''
BoxLayout:
Label:
text: 'Domain'
TextInput:
id: domain
text: 'howefarmingco.local'
Button:
text: 'Login'
size_hints: None, 1
width: .6
pos_hint: {'center_x': .5}
on_press: app.do_login()
我们的想法是让登录字段在垂直和水平方向都显示为居中。垂直按照我的预期工作,但字段和按钮都显示在窗口的左边缘而不是中间。
我是否遗漏了一些非常基本的东西,或者只是以完全错误的方式解决这个问题?
答案 0 :(得分:1)
pos_hint!
来自FloatLayout docs:FloatLayout尊重其子项的pos_hint和size_hint属性。
更改了我的test.kv文件,因此外部BoxLayout现在是一个FloatLayout,一切都按预期工作。