ScrollView with GridLayout vs. ScrollView with BoxLayout,Kivy

时间:2017-03-07 00:31:48

标签: python kivy

所以,我正在使用ScrollView。 ScrollView需要一个不会缩小到窗口或元素大小的常量minimum_height。为此,我们将其子项的minimum_height(ScrollView包含的布局)设置为布局本身的总高度。我想,这个:

  1. 使其免于调整大小,
  2. 表示高度/大小 变量不是无所不能的,并且被外部布局覆盖 尺寸/窗口。
  3. 没关系。我有这个问题, GridLayouts和BoxLayouts之间的区别是什么?来自SO的说法:

    'BoxLayout旨在让孩子们自己填饱肚子。你想要的动态调整大小的更好的布局是GridLayout,它有一个你可以绑定的minimum_height来自动调整大小。

    (资料来源:kivy scrollview with boxlayout

    也许有措辞,但是:

    1. GridLayouts也充满了孩子们(哈哈)
    2. GridLayout和BoxLayout文档都显示minimum_height的read_only属性。
    3. 根据我的假设,如果minimum_height足够高,BoxLayout应该以与GridLayout完全相同的方式填充。但是,minimum_height不会像GridLayout那样改变,所以这意味着:

      1. GridLayout的minimum_height'只读'是'谎言'(哈,它是 - 我们改了它)
      2. minimum_height属性可能仍然可用,但BoxLayout
      3. 的访问方式不同
      4. BoxLayout根本没有minimum_height,并且始终受其外部容器的限制。
      5. 但是,如果我们接受#3,那么就会有以下观察结果:

        1. 我的ScrollView嵌套在BoxLayout根目录中,这是整个屏幕(~750dp高)
        2. 当我的ScrollView设置在200-800之间时:
        3. ScrollView保留的BoxLayout子项没有变化。我的ScrollView显示相同的两个不可滚动的按钮(大概是所有其他97个按钮直接堆叠在它后面),高度约为250dp
        4. 所以,即使BoxLayout没有minimum_height,也会发生其他事情。

          但是我担心会让我们偏离轨道。所以,基本上,我想知道是什么阻止BoxLayout具有minimum_height属性 - 我们可以像GridLayout一样设置。

0 个答案:

没有答案