我不明白为什么屏幕末端(照片附上,平台-Android)之前有这么多空间。 看起来AbsoluteLayout并不能填满屏幕的所有空间,但事实并非如此,``白色''按钮之间也有空格(一个按钮应该占据屏幕的20%;首先从屏幕的左边缘开始占4%之后开始,第二-28%:28%-4%-20%= 4%按钮之间的可用空间)?
这是xaml代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="PokerCalculator.OutsCalculator"
BackgroundColor="#131313">
<AbsoluteLayout BackgroundColor="HotPink">
<Label Text="Number of outs:"
FontSize="Medium"
AbsoluteLayout.LayoutBounds="0.04,0,0.3,0.18"
AbsoluteLayout.LayoutFlags="SizeProportional, PositionProportional"
BackgroundColor="Aqua"/>
<Label x:Name="lblOutNumber"
Text="15"
AbsoluteLayout.LayoutBounds="0.35,0,0.18,0.18"
AbsoluteLayout.LayoutFlags="SizeProportional, PositionProportional"
BackgroundColor="Azure"/>
<Button x:Name="btnBack"
Text="BACK"
Clicked="btnBack_Clicked"
AbsoluteLayout.LayoutBounds="0.7,0,0.28,0.18"
AbsoluteLayout.LayoutFlags="SizeProportional, PositionProportional"
BackgroundColor="Fuchsia"/>
<Button BackgroundColor="White"
AbsoluteLayout.LayoutBounds="0.04,0.2,0.20,0.28"
AbsoluteLayout.LayoutFlags="All"/>
<Button BackgroundColor="White"
AbsoluteLayout.LayoutBounds="0.28,0.2,0.20,0.28"
AbsoluteLayout.LayoutFlags="All"/>
<Button BackgroundColor="White"
AbsoluteLayout.LayoutBounds="0.52,0.2,0.20,0.28"
AbsoluteLayout.LayoutFlags="All"/>
<Button BackgroundColor="White"
AbsoluteLayout.LayoutBounds="0.76,0.2,0.20,0.28"
AbsoluteLayout.LayoutFlags="All"/>
</AbsoluteLayout>
</ContentPage>
答案 0 :(得分:0)
作为一个较晚的答案,我在nuget包中放了一个AbsoluteLayout的分支,但是以一种更可预测的方式工作。
安装nuget软件包SmartMachines.AbsoluteLayout
,添加名称空间xmlns:sm="clr-namespace:SmartMachines;assembly=AbsoluteLayout"
,您将拥有与本地Xamarin完全相同的AbsoluteLayout,但具有预期的比例对齐行为。
希望可以在谷歌搜索和调试上为其他人节省几个小时。