我正在尝试在nativescript
.
我需要一个全透明的半透明屏幕来显示用户需要做什么。是否有可用的默认插件或布局?
<GridLayout>
<Label text="Play with NativeScript!"></Label>
<Label class="overlay" text="I'm an overlay" verticalAlignment="center"></Label>
</GridLayout>
默认情况下,GridLayout 中的所有内容都放置在第一列的第一行中,除非您另有定义。如果在同一列和同一行中定义两个视图,最低的视图将堆叠在前一个的前面。
您当然可以在内部使用任何布局并使用 colSpan 或 rowSpan 之类的东西。
<GridLayout columns="*" rows="*">
<StackLayout col="0" row="0">
<Label text="Play with NativeScript!"></Label>
</StackLayout>
<StackLayout col="0" row="0" class="overlay" >
<Label text="I'm an overlay"></Label>
</StackLayout>
</GridLayout>
您可以使用此 nativescript 示例模板来使用覆盖屏幕。https://play.nativescript.org/?template=play-js&id=7wQ8EL&v=5 这个模板已经有一个全透明的半屏覆盖。
<StackLayout class="content-wrapper">
<router-outlet></router-outlet>
</StackLayout>
<StackLayout class="custom-dialog">
<Label text="Loading..." textWrap="true"></Label>
</StackLayout>
</AbsoluteLayout>
您可以使用它来显示叠加层。使用您的加载填充内容并根据需要设置不透明度。如果您需要隐藏 ActionBar,只需使用 ContextBinding 和 Observables 将高度设置为“0”。
<AbsoluteLayout width="100%" height="100%" backgroundColor="yellow" opacity="0.9" style="z-index: 99999; margin-top: -10%;">
<Label text="10, 10" left="10" top="10" width="90" height="90" backgroundColor="red"/>
</AbsoluteLayout>
<AbsoluteLayout width="100%" height="10%" backgroundColor="yellow" opacity="0.9" style="z-index: 99999; margin-top: 100%;">
</AbsoluteLayout>