Использовать WebView в формах Xamarin:
В файле .xaml
Добавить источник:
<WebView HorizontalOptions="Center"
VerticalOptions="Center"
HeightRequest="{Binding HeightImage}"
WidthRequest="{Binding WidthImage}"
Source="{Binding LinkImageGif}" />
В файле .cs
Добавить источник:
int imageHeight = HeightImage;
int imageWidth = WidthImage;
var source = new HtmlWebViewSource
{
Html = $"<body\"><img src=\"{_srcImage}\" alt=\"A Gif file\" width=\"{imageWidth}\" height=\"{imageHeight}\" style=\"width: 100%; height: auto;\"/></body>",
BaseUrl = DependencyService.Get<IBaseUrl>().Get()
};
Потому чтоBaseUrl
Android и iOS это разница.Итак, используйте Share Project, создайте зависимость.
Сначала создайте Interface
:
namespace abcxyz
{
public interface IBaseUrl { string Get(); }
}
При зависимости от Android добавьте код:
[assembly: Dependency(typeof(BaseUrlAndroid))]
namespace abcxyz
{
public class BaseUrlAndroid : IBaseUrl
{
public string Get() => "file:///android_asset/";
}
}
(Gif-изображение будет добавлено в папку: Активы AndroidResource
)
При зависимости от iOS добавьте код:
[assembly: Dependency(typeof(BaseUrlOniOs))]
namespace abcxyz
{
public class BaseUrlOniOs : IBaseUrl
{
public string Get()
{
return NSBundle.MainBundle.BundlePath;
}
}
}
(Gif-изображение будет добавлено в папку: Resource
(BundleResource
) iOS)