Nativescript 按钮覆盖
Nativescript Button Overlay
我想知道如何在 Nativescript 中将按钮叠加在图片上?
我试过使用背景图片,但按钮并没有出现在图片上方。
目前我拥有的是:
<Image src="~/images/image.jpg" class="image" stretch="aspectFit" />
<Button text ="image" tap="tapAction" class="ButtonOne"/>
<Image src="~/images/image2.jpg" stretch="aspectFit" class="image2" horizontalAlignment="right"/>
<Button text ="image2" tap="tapAction1" class="ButtonTwo"/>
我在这里使用了 stacklayout,所以我可以轻松地将这些图片和按钮叠加在同一页面上。现在我想要实现的是删除边框并将按钮文本放在图像顶部的某处。
我一直在试验一些 CSS 属性,例如背景图像,但我似乎无法为此找到一个好的答案。
如果有人能指出我解决这个问题的正确方向,我将不胜感激。我想找到一种在图像顶部叠加按钮的方法。
谢谢!
这是我目前拥有的,我试图消除白色 space 并将相应的按钮放在每张图片的底部。所以总共有4张图片,每张图片底部有4个按钮!
您可以像这样使用 GridLayout
:
<GridLayout rows="auto" columns="auto" backgroundImage="~/images/yourpic.png">
<Button text="Hello Guy!" row="0" col="0" />
</GridLayout>
但是,使用 StackLayout 在 Stack 上采用与 backgroundImage 相同的方法更容易(标记更少)。
您也可以使用 AbsoluteLayout
,例如:
<AbsoluteLayout width="100%" height="100%">
<Image src="~/images/image.jpg" class="image" stretch="aspectFit" top="0" left="0" />
<Button text="image" tap="tapAction" class="ButtonOne" top="20" left="20"/>
</AbsoluteLayout>
可以在 gridLayout 中添加带有图像和按钮的多行和多列。在此示例中,您有 2 个等高图像彼此下方:
<GridLayout rows="1*,1*" columns="auto">
<Image row="0" src="~/images/image.jpg" class="image" stretch="aspectFit" />
<Button row="0" text ="image" tap="tapAction" class="ButtonOne"/>
<Image row="1" src="~/images/image2.jpg" stretch="aspectFit" class="image2" horizontalAlignment="right"/>
<Button row="1" text ="image2" tap="tapAction1" class="ButtonTwo"/>
</GridLayout>
这种gridLayout的优点是图片和按钮总是在同一个位置,而且是可消耗的。
我试过使用背景图片,但按钮并没有出现在图片上方。
目前我拥有的是:
<Image src="~/images/image.jpg" class="image" stretch="aspectFit" />
<Button text ="image" tap="tapAction" class="ButtonOne"/>
<Image src="~/images/image2.jpg" stretch="aspectFit" class="image2" horizontalAlignment="right"/>
<Button text ="image2" tap="tapAction1" class="ButtonTwo"/>
我在这里使用了 stacklayout,所以我可以轻松地将这些图片和按钮叠加在同一页面上。现在我想要实现的是删除边框并将按钮文本放在图像顶部的某处。
我一直在试验一些 CSS 属性,例如背景图像,但我似乎无法为此找到一个好的答案。
如果有人能指出我解决这个问题的正确方向,我将不胜感激。我想找到一种在图像顶部叠加按钮的方法。
谢谢!
这是我目前拥有的,我试图消除白色 space 并将相应的按钮放在每张图片的底部。所以总共有4张图片,每张图片底部有4个按钮!
您可以像这样使用 GridLayout
:
<GridLayout rows="auto" columns="auto" backgroundImage="~/images/yourpic.png">
<Button text="Hello Guy!" row="0" col="0" />
</GridLayout>
但是,使用 StackLayout 在 Stack 上采用与 backgroundImage 相同的方法更容易(标记更少)。
您也可以使用 AbsoluteLayout
,例如:
<AbsoluteLayout width="100%" height="100%">
<Image src="~/images/image.jpg" class="image" stretch="aspectFit" top="0" left="0" />
<Button text="image" tap="tapAction" class="ButtonOne" top="20" left="20"/>
</AbsoluteLayout>
可以在 gridLayout 中添加带有图像和按钮的多行和多列。在此示例中,您有 2 个等高图像彼此下方:
<GridLayout rows="1*,1*" columns="auto">
<Image row="0" src="~/images/image.jpg" class="image" stretch="aspectFit" />
<Button row="0" text ="image" tap="tapAction" class="ButtonOne"/>
<Image row="1" src="~/images/image2.jpg" stretch="aspectFit" class="image2" horizontalAlignment="right"/>
<Button row="1" text ="image2" tap="tapAction1" class="ButtonTwo"/>
</GridLayout>
这种gridLayout的优点是图片和按钮总是在同一个位置,而且是可消耗的。