3枚の画像があります。それらはすべて円形 (実際には透明な背景を持つ正方形) で、3 つすべてがまったく同じサイズです。
次の xaml を使用して、AspectFill により縦横比を維持しながらコンテナーの最大サイズまでストレッチされた 3 つの似たような画像を生成することを期待します。
これは UWP では問題なく動作しますが、Android では最初のイメージだけが私の計画を聞きたいようです。私が見つけた唯一の違いは、最初の画像が埋め込みリソースであり、他の画像がダウンロードされることです。(URL から直接表示されるのではなく、最初にローカルに保存されます)
ダウンロードした画像のみを表示すると、それらはすべて「小さく」表示されます。埋め込み画像のみを表示すると、すべて「大きく」表示されます。
アスペクトを適用すると、Android はダウンロードされた画像を埋め込み画像とは異なる方法で処理するように思えますが、その理由はわかりません。
<ScrollView Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Grid>
<StackLayout x:Name="NarrationsStackLayout" BindableLayout.ItemsSource="{Binding Narrations}" Orientation="Horizontal" HorizontalOptions="CenterAndExpand" VerticalOptions="Fill">
<BindableLayout.ItemTemplate>
<DataTemplate>
<Image Source="{Binding NarrationImage}" Aspect="AspectFill" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="Green" >
<Image.GestureRecognizers>
<TapGestureRecognizer Command="{Binding TapCommand}" />
</Image.GestureRecognizers>
</Image>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
</Grid>
</ScrollView>
この動作の原因は何ですか?