AspectFit无法用于保存到Android设备的图像

时间:2019-03-28 09:07:42

标签: android xamarin

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

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

有时图片来自可绘制对象(始终可用),有时图片来自保存到设备中的图片(对于Android,System.Environment.SpecialFolder.Personal和IOS,Environment.SpecialFolder.Resources)。

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

因此,简而言之,该问题仅在Android上针对保存到设备的图像出现。绘图很好。

这是 retailerImage

这是相关的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上还可以,所以我希望不必进行太多更改,但是我已经进行了几天的修改,似乎无法使图像在所有情况下看起来都一样。

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

0 个答案:

没有答案