Xamarin.Forms 为不同的平台设置不同的列定义(android、ios)
Xamarin.Forms Set different Colum Definitions for different platforms (android, ios)
我有这个网格:
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.07*" />
<ColumnDefinition Width="1.2*" />
<ColumnDefinition Width="0.05*" />
</Grid.ColumnDefinitions>
</Grid>
此网格是 android 和 ios 中标题视图的一部分。我需要将图标居中放置在中间列中,但是由于 ios 和 android 以不同方式处理标题视图,因此中间的图标在 ios 上确实略微偏左,而它位于以 android 为中心。我需要为每个平台设置不同的列宽。
这可行吗?
谢谢!
您可以使用以下代码为不同平台(android、ios)实现不同的列定义。
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition >
<ColumnDefinition.Width>
<OnPlatform x:TypeArguments="GridLength">
<On Platform="iOS" Value="1.2*"></On>
<On Platform="Android" Value="2.07*"></On>
</OnPlatform>
</ColumnDefinition.Width>
</ColumnDefinition>
<ColumnDefinition Width="1.2*" />
<ColumnDefinition Width="0.05*" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Text="By default, a Grid contains one row and one column." />
</Grid>
我有这个网格:
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.07*" />
<ColumnDefinition Width="1.2*" />
<ColumnDefinition Width="0.05*" />
</Grid.ColumnDefinitions>
</Grid>
此网格是 android 和 ios 中标题视图的一部分。我需要将图标居中放置在中间列中,但是由于 ios 和 android 以不同方式处理标题视图,因此中间的图标在 ios 上确实略微偏左,而它位于以 android 为中心。我需要为每个平台设置不同的列宽。
这可行吗?
谢谢!
您可以使用以下代码为不同平台(android、ios)实现不同的列定义。
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition >
<ColumnDefinition.Width>
<OnPlatform x:TypeArguments="GridLength">
<On Platform="iOS" Value="1.2*"></On>
<On Platform="Android" Value="2.07*"></On>
</OnPlatform>
</ColumnDefinition.Width>
</ColumnDefinition>
<ColumnDefinition Width="1.2*" />
<ColumnDefinition Width="0.05*" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Text="By default, a Grid contains one row and one column." />
</Grid>