我在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>
]]>
由于
答案 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 + "'/>";
}
我希望这会有所帮助。 (作为后记,感谢所有在网络论坛上回复此类查询的人。您的耐心和善意帮助我学到了很多东西。)