Киви: Можно ли разместить BoxLayout в AnchorLayout? - PullRequest
0 голосов
/ 25 мая 2020

Цель: просто расположите две кнопки рядом в правом верхнем углу экрана.

Попытка: Чтобы использовать AnchorLayout для размещения BoxLayout в в правом верхнем углу экрана.

.kv файл:

AnchorLayout:
    anchor_x: "right"
    anchor_y: "top"
    BoxLayout:
        orientation: 'horizontal'
        Button:
            text: "Button 1"
            size_hint: None, None
            size: 100, 100
        Button:
            text: "Button 2"
            size_hint: None, None
            size: 100,100

Результат: При этом кнопки будут размещены в левом нижнем углу экрана, а не в правом верхнем углу экрана.

Вопрос: Что в этом плохого и как лучше всего разместить ряд кнопок, закрепленных в правом верхнем углу экрана?

1 Ответ

0 голосов
/ 25 мая 2020

Это происходит потому, что BoxLayout получает тот же размер, что и AnchorLayout, из-за значения size_hint по умолчанию (1,1). Вы можете исправить это, добавив size_hint: None, None и size: self.minimum_size:

AnchorLayout:
    anchor_x: "right"
    anchor_y: "top"
    BoxLayout:
        orientation: 'horizontal'
        size_hint: None, None
        size: self.minimum_size
        Button:
            text: "Button 1"
            size_hint: None, None
            size: 100, 100
        Button:
            text: "Button 2"
            size_hint: None, None
            size: 100,100
...