【问题标题】:Nativescript - How to hide a menu bellow the bottom?Nativescript - 如何隐藏底部下方的菜单?
【发布时间】:2017-12-03 22:53:17
【问题描述】:

我有这两张图片,其中一张在另一张之上:(推特图片和黑色图片):

黑色图像应该隐藏在底部 - 当用户点击推特页面时 - 黑色菜单应该从底部滑入

黑色图像位于中间(在另一个图像的顶部),因为外部 Gridview 没有任何行 - 所以所有内容都作为 z-index 堆栈放置:

<GridLayout   columns="*"  >
 <GridLayout slide-out>
        <Image src="~/images/page.png"    ></Image>
    </GridLayout>

    <StackLayout slide-in class="slide b" height="300" >
        <Image   src="~/images/replies.png" "></Image>
    </StackLayout>
</GridLayout>

但是黑色图像(由 Stacklayout 保存)应该像这样隐藏在底部:

是否可以通过css将其隐藏在底部?

到目前为止我尝试了什么?

如您所见,Stacklayout 上有一个指令(名为 slide-in):

所以我在启动时设置了它的marginBottom

 constructor(el: ElementRef) {
        this.element.nativeElement.marginBottom = 0;
    }

但 Stacklayout 保持不变(在中间)/

如果我设置

 this.element.nativeElement.marginBottom = -screen.mainScreen.heightDIPs;

它显示:

但它应该完全隐藏在底部

问题:

如何将其隐藏在底部?

【问题讨论】:

  • 你试过css display:none; ?
  • @Sentry 我想从底部滑入。很抱歉没有提到这一点。我已经编辑了问题并添加了该信息。谢谢。
  • 你也可以尝试做负边距,比如 margin-bottom:-100px;并尝试添加位置:绝对;到img。也许这会起作用
  • @Sentry 问题是我不知道 margin-bottom:XXX; 的哪个值。我不想手动输入-我希望自动计算。我该怎么做?
  • 试试margin-bottom:-100vh;或 margin-top:100vh;

标签: android angular nativescript


【解决方案1】:

在 y 轴上使用 translate,因此 translate-y=-400 还将不透明度设置为 0,并使用动画 API 为这两个属性设置动画,以便视图组件进行动画进出。我在开发日的演讲涵盖了这一点,这个例子在我的一个 repo 上。现在在电话上,否则我会链接它。

【讨论】:

  • 我已将其更改为您的建议,与高度相同,但看看它的外观:i.stack.imgur.com/dPSnH.png
  • 然后反方向平移,不要忘记不透明度。让它远离轴,让它完全隐藏,然后调整你的动画持续时间,让它成为一个非常高的价值。只是需要一些试验和错误:) 你快到了。
  • 首先谢谢你。我只是不想取高值,而是取屏幕高度的精确值。现在你告诉我“高价值”。所以我会听你的。 (我很想听听原因)。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-14
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多