Как я могу заставить Kivy Scrollview оставаться одного и того же размера на разных размерах экрана?

#python #kivy #label #scrollview #boxlayout

Вопрос:

У меня есть ScrollView внутренняя часть a BoxLayout , которая довольно резко меняет размер при изменении размера экрана. Я создаю приложение для iOS, которое отображает текст внутри a ScrollView в верхней половине экрана, затем у меня есть не прокрутка Label непосредственно под ним.

Я использовал iPhone 12/13 для дизайна макета, однако, когда я запускаю его на iPhone 8 (с меньшим размером экрана), ScrollView Label текст под ним значительно перекрывается. Когда я запускаю два разных симулятора телефона Xcode бок о бок, ScrollView область на iPhone 8 на самом деле, кажется, увеличивается в размерах по какой-то странной причине.

Я использовал size_hint и pos_hint для всех виджетов, которые в целом работали нормально, просто не совсем с этим ScrollView . Я попытался настроить все размеры всего, но, похоже, нет счастливой середины, которую я мог бы использовать для обоих типов экранов.

Я использовал height его в BoxLayout качестве родителя для ScrollView , и не уверен, правильно ли я его использую.

Я включу BoxLayout ScrollView в него свой со своим. Пожалуйста, не мог бы кто-нибудь взглянуть, не делаю ли я здесь что-то явно неправильное? Я надеюсь, что мне не нужно создавать разные макеты для каждого типа экрана.

 BoxLayout:  pos_hint: {"top": .9, "center_x": .5}  size_hint: 1, .3  size_hint_y: None  height: 460  ScrollView:  Label:  id: brief_res_1  markup: True  font_size: '13sp'  do_scroll_x: True  size_hint_y: None  size_hint_x: None  size: self.texture_size  halign: "left"  valign: "center"  text: ""  

Комментарии:

1. Я верю, что вы, возможно, захотите сменить свой size_hint: 1, .3 на size_hint_x: 1 вместо этого, это может помочь

2. Я изменил size_hint на size_hint_x и сделал его равным 1, а size_hint_y изменил на .3, и это сработало очень хорошо. Действительно ценю это, спасибо.