如何使用kivymd将space按钮从屏幕中心均匀分布在一列中
How to space buttons from the center of the screen evenly in a column with kivymd
我是 kivy/kivymd 的新手,我在屏幕内定位按钮(或任何其他小部件)方面遇到了很多困难。不知何故,我发现它不直观。为了获得更好的感觉,我正在做几个我想解决的小练习。
现在,我想解决以下问题:
我可以使用相对布局,但我希望我可以使用方框 layout/grid 布局。我想“动态”添加一个新按钮。然而,顶部和底部的间距应该非常相似。如果我尝试盒子布局,按钮都在底部。即使我更改了布局的完整位置(也没有很好地记录...)。
例如:
#:kivy 2.1.0
MDBoxLayout:
orientation: "vertical"
pos: 0,root.height-(root.height*0.5)
MDFillRoundFlatButton:
text: "button 1"
pos_hint: {"center_x":.5}
MDFillRoundFlatButton:
text: "button 2"
pos_hint: {"center_x":.5}
MDFillRoundFlatButton:
text: "button 3"
pos_hint: {"center_x":.5}
MDFillRoundFlatButton:
text: "button 4"
pos_hint: {"center_x":.5}
进入以下屏幕:
按钮 4 位于屏幕的“中央”。但是,按钮 2 和 3 之间的中心应该在屏幕的中心。
有没有简单的方法可以解决这个问题?或者我需要计算所有按钮的位置并通过相对布局分配它们?
感谢您的帮助!
您可以使用 MDBoxLayout
的属性来获得您想要的。 spacing
在 Buttons
之间设置了 space。 adaptive_height
允许 MDBoxLayout
增长以适应所有 Buttons
。 pos_hint
确保 MDBoxLayout
垂直居中:
MDBoxLayout:
orientation: "vertical"
pos_hint: {'center_y':0.5}
adaptive_height: True
spacing: 20
我是 kivy/kivymd 的新手,我在屏幕内定位按钮(或任何其他小部件)方面遇到了很多困难。不知何故,我发现它不直观。为了获得更好的感觉,我正在做几个我想解决的小练习。
现在,我想解决以下问题:
我可以使用相对布局,但我希望我可以使用方框 layout/grid 布局。我想“动态”添加一个新按钮。然而,顶部和底部的间距应该非常相似。如果我尝试盒子布局,按钮都在底部。即使我更改了布局的完整位置(也没有很好地记录...)。
例如:
#:kivy 2.1.0
MDBoxLayout:
orientation: "vertical"
pos: 0,root.height-(root.height*0.5)
MDFillRoundFlatButton:
text: "button 1"
pos_hint: {"center_x":.5}
MDFillRoundFlatButton:
text: "button 2"
pos_hint: {"center_x":.5}
MDFillRoundFlatButton:
text: "button 3"
pos_hint: {"center_x":.5}
MDFillRoundFlatButton:
text: "button 4"
pos_hint: {"center_x":.5}
进入以下屏幕:
按钮 4 位于屏幕的“中央”。但是,按钮 2 和 3 之间的中心应该在屏幕的中心。
有没有简单的方法可以解决这个问题?或者我需要计算所有按钮的位置并通过相对布局分配它们?
感谢您的帮助!
您可以使用 MDBoxLayout
的属性来获得您想要的。 spacing
在 Buttons
之间设置了 space。 adaptive_height
允许 MDBoxLayout
增长以适应所有 Buttons
。 pos_hint
确保 MDBoxLayout
垂直居中:
MDBoxLayout:
orientation: "vertical"
pos_hint: {'center_y':0.5}
adaptive_height: True
spacing: 20