Вертикальная централизация, если содержимое подходит, прокрутите в противном случае - PullRequest
0 голосов
/ 11 октября 2019

Вот как выглядит мой макет:

<template>
<GridLayout rows="auto,*,auto">
  <GridLayout row="0" id="topBar" columns="*,*,*">
    <!-- my top bar -->
  </GridLayout>

  <GridLayout rows="*,auto,*" height="100%">
    <StackLayout row="0" />
    <ScrollView row="1" orientation="vertical">
      <StackLayout>
        <slot />
      </StackLayout>
    </ScrollView>
    <StackLayout row="2" />
  </GridLayout>

  <StackLayout row="2">
    <!-- my navigation bar -->
  </StackLayout>
</GridLayout>
</template>

Я хочу, чтобы мои top bar и navigation bar принимали столько высоты, сколько им нужно, чтобы они могли соответствовать своему содержанию. Я хочу, чтобы основное содержимое, которое является scrollview, занимало остальную часть высоты страницы.

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

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

Это работает, если содержимое подходит, иначе оно не прокручивается, я думаю, потому что оно устанавливает высоту просмотра прокрутки, достаточно большую, чтобы содержать его содержимое, чтобы оно больше не переполнялось. Как я могу это исправить?

...