#android #xamarin
#Android #xamarin
Вопрос:
У меня проблема с отображением изображения на Android. Проблема не существует в IOS.
На моем экране отображается информация, включая изображение.
Иногда изображение берется из drawable (который всегда работает), а в других случаях это изображение, которое сохраняется на устройстве в папке System.Environment.SpecialFolder.Personal
для Android и Environment.SpecialFolder.Resources
для IOS.
Я обнаружил, что когда изображение из файла, сохраненного на устройстве, оно некорректно отображается на 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 все в порядке, поэтому я надеюсь, что мне не придется слишком много менять, но я возился уже пару дней и, похоже, не могу заставить изображение выглядеть одинаково во всех экземплярах.
Любые идеи и соображения были бы высоко оценены.
Комментарии:
1. Вы имеете в виду, что изображение сжимается сверху и снизу?
2. Трудно сказать. На моем Galkaxy S6 это просто неразличимый квадрат размером около 3 мм. Я могу почти сказать, что это правильное изображение, но, очевидно, неправильно масштабированное.
3. Вы пробовали использовать другие аспекты?
4. То же самое происходит и с эмуляторами Andoid. Небольшое изменение, но общая тема заключается в том, что это файл изображения, который НЕЛЬЗЯ отрисовывать. Размеры изображения такие же, как и у отображаемых, которые работают просто отлично.