Одним из способов является использование kivy.uix.AnchorLayout
Документы: AnchorLayout
BoxLayout:
orientation:'horizontal'
BoxLayout:
size_hint: [.8, 1]
orientation:'horizontal'
StackLayout:
orientation:'tb-rl'
canvas:
Color:
rgb: [.3, .320, .380]
Rectangle:
pos: self.pos
size: self.size
Button:
id:current_temperature
text: root.display_current_temperature()
font_size:40
size_hint: [None, None]
size:[200,50]
Button:
id:current_location
text: root.display_location()
font_size:15
size_hint: [None, None]
size:[200,50]
BoxLayout:
size_hint:[.2, 1]
AnchorLayout:
anchor_x: 'center'
anchor_y: 'top'
Button:
id:test
text: 'weather icon'
size_hint: [1, None]
Обратите внимание, что я изменил размер последнегоВиджет кнопки от абсолютного до относительного. Это предотвратит непредвиденное поведение при рендеринге приложения на экранах разных размеров.
Также изменил размеры основных 2 виджетов BoxLayout на относительные также по той же причине, что и выше.
Другойспособ добавить подсказку позиции к виджету кнопки
Документы: pos_hint
Button:
pos_hint: {'y': 1-1/(self.parent.height/self.height)}
id:test
text: 'weather icon'
size_hint: [None, None]
size:[100,100]