2

ImageSpan のインターネット URL を指定して、それを表示することはできますTextViewか? 私はかなりの数のバージョンを試しました

String mockContent = "<img src=\"http://www.google.com/intl/en_com/images/srpr/logo3w.png\">";
myTextView.setText(Html.fromHtml(mockContent), BufferType.SPANNABLE);

しかし、それは一般的な見つからない画像(青みがかった黒の縁取りされた四角形)になります。

最初に画像をダウンロードしてから、すべての URL などを置き換える必要がありますか? 新しい C# がそのようなリソースを処理できることを知っているので、ここで Android が私の希望を満たしてくれることを願っています。

API バージョン 10 を使用: 2.3.3。

4

1 に答える 1

4

ローカルに画像ソースがある場合は、それが機能するか、使用する必要があります。

Html.fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

提供されたHTML文字列から表示可能なスタイル付きテキストを返します。

私がウェブで見つけた良い例、

String s = Html.fromHtml(htmlContent, new ImageGetter() { 
        @Override
     public Drawable getDrawable(String source) {                   

        // Code for getting image either by download or using static iamge

         Drawable d = null;
        try { 
                    InputStream src = imageFetch(source); 
                    d = Drawable.createFromStream(src, "src");
                    if(d != null){
                       d.setBounds(0,0,(d.getIntrinsicWidth(),
                       d.getIntrinsicHeight());
                    }
            } catch (MalformedURLException e) { 
              e.printStackTrace();  
            } catch (IOException e) {
              e.printStackTrace();   
   } 


    return d;
    } 


  },null);

詳細については、ImageGetterを使用したHtml.fromHtmlを参照してください

于 2011-10-23T17:34:06.437 に答える