Как установить максимальную высоту в nativescript? - PullRequest
0 голосов
/ 14 октября 2019

Вот мой макет (это приложение nativescript-vue):

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

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

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

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

Я думаю, что эта проблема может решить эту проблему, так как я установил максимальную высоту для ScrollView, чтобы ее высота не превышала высоту экрана.

1 Ответ

1 голос
/ 14 октября 2019

Попробуй,

<template>
  <GridLayout rows="auto,*,auto">
    <StackLayout row="0" />
    <ScrollView row="1" verticalAlignment="center">
       <StackLayout>
         <slot />
       </StackLayout>
    </ScrollView>
    <StackLayout row="2" />
  </GridLayout>
</template>

Я тестировал на Playground, похоже, дает ожидаемые результаты.

Center Content

Scrollable Content

...