微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin.Forms为不同的平台android,ios设置不同的Colum定义

如何解决Xamarin.Forms为不同的平台android,ios设置不同的Colum定义

我有这个网格:

        <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)针对不同的Colum定义实现。

    <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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。