如何在页面级别添加活动指示器?

rel*_*lez 4 nativescript

我想在我的登录页面中添加一个活动指示器小部件,但我希望它覆盖整个屏幕,所以我可以防止双击"登录"按钮.

任何想法,谢谢!

dav*_*fin 7

如果将所有内容都包装在GridLayout中,请将StackLayout添加为要覆盖的行中的最后一项.默认情况下,StackLayout将覆盖整个屏幕.然后,您可以通过数据显示/隐藏.例如:

<GridLayout>
    <StackLayout>
        // All your page content goes here! 
    </StackLayout>
    <StackLayout class="dimmer" visibility="{{showLoading ? 'visible' : 'collapsed'}}"/>
    <GridLayout rows="*" visibility="{{showLoading ? 'visible' : 'collapsed'}}">
        <ActivityIndicator busy="true" />
    </GridLayout>
</GridLayout>
Run Code Online (Sandbox Code Playgroud)

我有一个"调光器"StackLayout,我将其设置为半透明黑色,然后活动指示器位于顶部.

  • 在较新版本中,不支持自动关闭StackLayout和ActivityIndi​​cator元素。只要将它们更改为显式关闭的版本即可(例如,&lt;ActivityIndi​​cator busy =“ true”&gt; &lt;/ ActivityIndi​​cator&gt;而不是&lt;ActivityIndi​​cator busy =“ true” /&gt;),它将可以正常工作。 (2认同)