如何使用HTML.fromHtml添加图像

时间:2013-01-21 15:12:32

标签: android

我在android中使用HTML.fromHtml方法在我的应用程序中显示一些关于文本的内容。是否可以在我的约会文本中添加图像,如果是这样的话?

这是我的活动,其中将启动aboutText

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );

    setContentView(R.layout.activity_information);

    int versionNumber = 0;
    String versionName = "";

    try{
        PackageInfo pInfo = getPackageManager().getPackageInfo( getPackageName(), 0 );
        versionNumber = pInfo.versionCode;
        versionName = pInfo.versionName;
    } catch (NameNotFoundException e){
        Log.e( TAG, "error while extracting version name and version number" + e.getMessage() );
    }

    TextView about = (TextView)findViewById( R.id.about_text_view );
    Spanned aboutText = Html.fromHtml( "<h1> PDiX Attach, Version " + versionName + "</h1>"
                                         + getString( R.string.about_text ));

    about.setText( aboutText );


}

resours R.id.about_text看起来像这样:

        

        <b>Requirements:</b>
        <br/>The application supports Android Devices with Version 2.2 or higher.
        <br/>HERE I WANT TO ADD AN IMAGE<br/>

        </body>


        ]]>

由于

2 个答案:

答案 0 :(得分:0)

如果要添加图像,则应使用WebView。

答案 1 :(得分:0)

我会在这里猜一下,并假设到现在你知道你应该使用WebView来显示带有本地图像的HTML。我猜你需要知道的是如何将图像滑入HTML字符串。我是新手,所以我不知道我的解决方案是否是最好的,但是对于它的价值,这就是我所做的。简而言之,我将Bitmap图像转换为Base64字符串。

import android.graphics.Bitmap;
import java.io.ByteArrayOutputStream;
import android.util.Base64;

...

    Bitmap image = [insert appropriate code here];
    String encodedImage = null;
    if ( image != null ) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        image.compress(Bitmap.CompressFormat.PNG, 100, baos); // PNG preserves transparancy 
        byte[] byteArrayImage = baos.toByteArray();
        encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
        String imageHTML = "<img src='data:image/jpg;base64," + 
            encodedImage + "'/>";
    }

我希望这会有所帮助。 (作为后记,感谢所有在网络论坛上回复此类查询的人。您的耐心和善意帮助我学到了很多东西。)