Xamarin:AbsoluteLayout 中的网格未填满屏幕
Xamarin: Grid in AbsoluteLayout not fill screen
我有一个包含网格的 absolutLayout。从图像中可以看出,absoluteLayout 正确地水平填充了屏幕。问题似乎是网格,它没有在屏幕的整个水平长度上绘制,留下一个空白部分。如果我尝试将网格移到 absoluteLayout 之外,网格会正确地水平填充屏幕,所以我认为问题与 absoluteLayout + 网格组合有关。
我对absoluteLayouts知之甚少,不知道如何解决这个问题。
Xaml(为方便起见,我省略了绘制网格中包含的元素的代码):
<AbsoluteLayout BackgroundColor="Red">
<Grid x:Name="GridDettaglio" Padding="4,2" ColumnSpacing="1" BackgroundColor="Aqua" HorizontalOptions="Fill" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/> <!--0-->
<ColumnDefinition Width="30"/> <!--1-->
<ColumnDefinition Width="70"/> <!--2-->
<ColumnDefinition Width="40"/> <!--3-->
<ColumnDefinition Width="70"/> <!--4-->
<ColumnDefinition Width="30"/> <!--5-->
<ColumnDefinition Width="*"/> <!--6-->
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="30"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
</Grid>
</AbsoluteLayout>
我不确定你为什么要使用 absolutelayout 但要让它填满屏幕你通常不需要给它任何东西但是因为它不是自己做的只是给它如下的标志和边界:
<Grid AbsoluteLayout.LayoutBounds="0,0,1,1"
AbsoluteLayout.LayoutFlags="All"
Goodluck 如果您有任何疑问,请随时回来。
我有一个包含网格的 absolutLayout。从图像中可以看出,absoluteLayout 正确地水平填充了屏幕。问题似乎是网格,它没有在屏幕的整个水平长度上绘制,留下一个空白部分。如果我尝试将网格移到 absoluteLayout 之外,网格会正确地水平填充屏幕,所以我认为问题与 absoluteLayout + 网格组合有关。 我对absoluteLayouts知之甚少,不知道如何解决这个问题。
Xaml(为方便起见,我省略了绘制网格中包含的元素的代码):
<AbsoluteLayout BackgroundColor="Red">
<Grid x:Name="GridDettaglio" Padding="4,2" ColumnSpacing="1" BackgroundColor="Aqua" HorizontalOptions="Fill" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/> <!--0-->
<ColumnDefinition Width="30"/> <!--1-->
<ColumnDefinition Width="70"/> <!--2-->
<ColumnDefinition Width="40"/> <!--3-->
<ColumnDefinition Width="70"/> <!--4-->
<ColumnDefinition Width="30"/> <!--5-->
<ColumnDefinition Width="*"/> <!--6-->
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="30"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
</Grid>
</AbsoluteLayout>
我不确定你为什么要使用 absolutelayout 但要让它填满屏幕你通常不需要给它任何东西但是因为它不是自己做的只是给它如下的标志和边界:
<Grid AbsoluteLayout.LayoutBounds="0,0,1,1"
AbsoluteLayout.LayoutFlags="All"
Goodluck 如果您有任何疑问,请随时回来。