Прокручиваемое новое кодовое имя GuiBuilder One

avatar
Simple
8 апреля 2018 в 02:41
69
1
2

У меня есть новая форма GuiBuilder с многоуровневым макетом и прокручиваемой Y, проблема возникает, когда я устанавливаю ландшафтный режим, тогда моя 4-я кнопка внезапно исчезает внизу, кажется, что авторазмер обрезает мою 4-ю кнопку даже при прокрутке вниз I не могу найти, и я установил эту кнопку на видимую прокрутку. Почему он продолжает исчезать? Как это исправить? Хотя в портретном режиме все нормально.

ОТРЕДАКТИРОВАНО:

Мой .gui XML по запросу:

<?xml version="1.0" encoding="UTF-8"?>

<component type="Form" layout="LayeredLayout" layeredLayoutPreferredWidthMM="0.0" layeredLayoutPreferredHeightMM="0.0"  autolayout="true" title="MainMenu" scrollableX="false" scrollableY="true" name="MainMenu">
  <component type="Button" text="First Button" name="Button1">
    <layoutConstraint insets="auto 5.0mm auto 5.0mm" referenceComponents="-1 -1 -1 -1" referencePositions="0.0 0.0 0.0 0.0" />
  </component>
  <component type="Button" text="Second Button" name="Button2">
    <layoutConstraint insets="0.0mm -0.026454926mm auto 0.0mm" referenceComponents="0 0 -1 0 " referencePositions="1.0 0.0 0.0 0.0" />
  </component>
  <component type="Button" text="Exit" name="Button4">
    <layoutConstraint insets="0.0mm -0.026454926mm auto 0.0mm" referenceComponents="4 4 -1 4 " referencePositions="1.0 0.0 0.0 0.0" />
  </component>
  <component type="Label" icon="resFile:mylogo.png" name="Logo">
    <layoutConstraint insets="auto auto 0.0mm auto" referenceComponents="-1 0 0 0 " referencePositions="0.0 0.0 1.0 0.0" />
  </component>
  <component type="Button" text="Change Theme" name="Button3">
    <layoutConstraint insets="0.0mm -0.026455045mm auto 0.0mm" referenceComponents="1 1 -1 1 " referencePositions="1.0 0.0 0.0 0.0" />
  </component>
</component>

Эта кнопка вызывает проблему: <component type="Button" text="Exit" name="Button4">

Источник
Shai Almog
8 апреля 2018 в 05:35
0

Можете ли вы отредактировать вопрос и включить XML-файл .gui для формы?

Simple
8 апреля 2018 в 22:24
0

@ShaiAlmog Обновил мой вопрос.

Shai Almog
9 апреля 2018 в 04:25
1

Эталонный компонент кажется неправильным, я думаю, вам нужно связать его с другим компонентом, но Стив может знать лучше.

Ответы (1)

avatar
steve hannah
9 апреля 2018 в 14:30
1

Это была ошибка в том, как LayeredLayout вычисляет предпочтительный размер контейнера, который влияет на то, как будут располагаться его дочерние элементы, когда они будут ниже сгиба. Это было исправлено в git и будет включено в следующее обновление в пятницу.

На данный момент вы можете обойти это, заменив предпочтительную высоту формы на размер, включающий все кнопки. Это можно сделать либо программно с помощью myForm.setPreferredH(500) (например), либо с помощью конструктора графического интерфейса, нажав кнопку «0 x 0in» в нижней левой панели холста, а затем нажав кнопку «Предварительный просмотр сопоставления».

enter image description here

Simple
9 апреля 2018 в 15:10
0

Спасибо, Стив, это решило мою проблему, с нетерпением жду следующего обновления, не только для этой проблемы, но и для других, которые я замечал, например, всякий раз, когда я редактирую свою форму с помощью нового guibuilder, прокручиваемый Y снимается, тогда мне нужно снова поставить галочку