2016-11-25 7 views
0
経由XamarinフォームにGIFを開くことができません

https://github.com/Emixam23/XamarinByEmixam23/tree/master/Detailed%20Part/Controls/GifProjectWebViewの

これは私が、次のいたプロジェクトです。 コードを実行するとクラッシュすることはありませんが、画像も表示されません。 iOSで私は "?"あなたがファイルを見つけることができないとき、私は古典的なimagesymbolを得る。

インタフェース:

namespace GifProject.Interface 
{ 
public interface IBaseUrl { string Get(); } 
} 

Rendererers: のiOS:

[assembly: Dependency(typeof(BaseUrl_iOS))] 
namespace GifProject.iOS.DependencyService 
{ 
public class BaseUrl_iOS : IBaseUrl 
{ 
    public string Get() 
    { 
     return NSBundle.MainBundle.BundlePath; 
    } 
} 
} 

ドロイド:

[assembly: Dependency(typeof(BaseUrl_Android))] 
namespace GifProject.Droid.DependencyService 
{ 
public class BaseUrl_Android : IBaseUrl 
{ 
    public string Get() 
    { 
     return "file:///android_asset/"; 
    } 
} 
} 

はXamarinの形でのGIFについてグーグルの多くを行ってきたが、私はされていませんどのようなヒント、アドバイス、オプションのソリューションが非常に高く評価されているので、それはあなたの仕事をすることができる!

答えて

1

大きな問題は、あなたのHTMLソース文字列です。 「幅」と「高さ」は、ブラウザによって異なります。たとえば、私のテストでは、幅をパーセンテージで指定した場合、Androidは画像をレンダリングできないことが示されています。 だから、何が機能することを確認割合で幅と高さを削除してのために考えること

string imgSource = DependencyService.Get<IBaseUrl>().Get() + value; //Android and iOS don't seem to need Dependency just "value", so you might use Device.OnPlatform if you wish 

html.Html = String.Format(@"<html><body style='background: #000000;'><img src='{0}' /></body></html>", imgSource); 

カップルの質問/提案を(ピクセル単位で動作)について

  1. あなたが同じイメージを使用する場合は、あなたが入れたいかもしれませんin PCL
  2. AndroidではAssetsを使用しました。なぜリソースではないのですか?

幸運

+0

は(私はiOS搭載少なくとも上でそれをしようとすると)私はトップの白い小さな四角のように取得する動作するようには思えないが –

+0

を残し、私はiOSの上でそれを実行すると背景が黒 –

+0

を取得しますシミュレータ私は "?"左上隅の画像 –