今天我尝试重写Snapchat的UI作为挑战.我从登陆页面开始,但是我在底部按钮时遇到了问题,它们下面有一个间隙.
我很惊讶它不会100%自然地走到谷底,但有没有办法可以做到这一点?我可以在底部堆栈布局上做margin-top但是有更好的方法吗?
更新:将margin-top放在底部的StackLayout上只是将高度向上推,它不会使其下降,似乎定位被锁定在屏幕的96%左右.
这是我的游乐场代码 –
https://play.nativescript.org/?template=play-tsc&id=zRSpSr
最佳答案 您的布局没有问题,默认按钮波纹/阴影效果占用该空间.您可以通过在按钮上应用边框来摆脱它.
XML
<Page navigatingTo="onNavigatingTo" class="page" xmlns="http://schemas.nativescript.org/tns.xsd">
<GridLayout>
<StackLayout row="0" verticalAlignment="top" class="header">
<Image horizontalAlignment="center" class="logo" src="http://www.stickpng.com/assets/images/584c4c0b1fc21103bb375ba9.png" />
</StackLayout>
<StackLayout row="1" verticalAlignment="bottom" horizontalAlignment="center"
class="footer">
<Button class="button is-red" text="LOG IN" tap="onSigninButtonTap"></Button>
<Button class="button is-blue" text="SIGN UP" tap="onSigninButtonTap"></Button>
</StackLayout>
</GridLayout>
</Page>
CSS
.button {
width: 100%;
color: #fff;
font-size: 22px;
padding: 50px;
height: 200px;
font-weight: 600;
border-width: 1;
}
.button.is-red {
border-color: #F8455A;
background-color: #F8455A ;
}
.button.is-blue {
border-color: #00ADFC;
background-color: #00ADFC;
}
编辑:对于iPhone X或任何带缺口显示的设备:
这是安全区域的问题,如果您希望组件超出安全区域插入范围,则只需在其上设置iosOverflowSafeArea =“true”即可.
尝试在注册按钮上进行设置,如果这样做,您可能需要在这些设备上相应地调整高度.将nativescript-platform-css用于特定于设备的CSS样式.