首页 > 解决方案 > AspectFit 不适用于保存到 Android 设备的图像

问题描述

我在 Android 上显示图像时遇到问题。这个问题在IOS中不存在。

我的屏幕显示包括图像在内的信息。

有时,图像来自可绘制对象(始终有效),而其他时候,图像来自保存到设备的System.Environment.SpecialFolder.PersonalAndroid 和Environment.SpecialFolder.ResourcesIOS 文件夹中的图像。

我发现当图像来自保存到设备的文件时,它无法在 Android 上正确显示。它似乎很小。

所以简而言之,这个问题只发生在 Android 上,用于保存到设备的图像。绘图很好。

这是零售商图片

这是相关的 XAML ......

<ContentView x:Name="mainView" ControlTemplate="{StaticResource ButtonNavTemplate}">
    <ScrollView Orientation="Vertical" VerticalOptions="Fill">
        <Grid x:Name="mainGrid" RowSpacing="20" ColumnSpacing="0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"></RowDefinition>
                    <RowDefinition Height="Auto"></RowDefinition>
                    <RowDefinition Height="Auto"></RowDefinition>
                    <RowDefinition Height="*"></RowDefinition>
                    <!--<RowDefinition Height="Auto"></RowDefinition>-->
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Image x:Name="categoryImage" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Aspect="AspectFill" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"></Image>

                <Frame x:Name="retailerImageFrame" Grid.Row="0" Grid.RowSpan="3" Grid.Column="1" 
                       Padding="5" HorizontalOptions="Center" VerticalOptions="End">
                    <Image x:Name="retailerImage" Aspect="AspectFit"></Image>
                </Frame>
...
...

以及设置图像源的代码部分......

    categoryImage.Source = ImageSource.FromFile(ImageService.GetSpendCategoryImagePath(this.retailer.SupplierCategoryId));
    var imageSource = ImageSource.FromFile(this.retailer.ImageFromAssets);

正如我所说,它在 IOS 上没问题,所以我希望我不必改变太多,但我已经修修补补了几天,似乎无法让图像在所有情况下都显示相同。

任何想法和想法将不胜感激。

标签: androidxamarin

解决方案


推荐阅读