Вот как выглядит мой макет:
<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
, занимало остальную часть высоты страницы.
Теперь, в зависимости от размера экрана, мой контент либо полностью помещается на странице, и в этом случае я хочу, чтобы он был вертикально центрирован в контейнере, представляющем собой прокрутку, занимающую все пространство между верхней панелью и панелью навигации. Так что в этом случае внутри прокрутки будет некоторое свободное пространство над и под контентом.
или содержимое не полностью помещается в границы просмотра прокрутки. В этом случае пустое пространство над или под моим содержимым в просмотре прокрутки должно исчезнуть, и содержимое должно прокручиваться естественным образом.
Это работает, если содержимое подходит, иначе оно не прокручивается, я думаю, потому что оно устанавливает высоту просмотра прокрутки, достаточно большую, чтобы содержать его содержимое, чтобы оно больше не переполнялось. Как я могу это исправить?