如何在 nativescript 中设置最大高度?

How to set max-height in nativescript?

这是我的布局(这是一个 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,占据顶部栏和顶部栏之间的所有 space导航栏。因此,在这种情况下,ScrollView 中的内容上方和下方会有一些空 space。

或者,内容不完全适合 ScrollView 的边界,在这种情况下,ScrollView 中我的内容上方或下方的空白 space 应该消失,内容应该可以自然滚动。

如果内容适合,则此方法有效,否则,我认为它不会滚动,因为它将 ScrollView 的高度设置得足够大以包含其内容,因此它不会再溢出。

我认为可以解决这个问题的方法是我给 ScrollView 设置了一个最大高度,这样它的高度就不会大于屏幕的高度。

试试,

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

我用 Playground 测试过,它似乎给了我预期的结果。