您的位置:首页 > 移动开发 > Android开发

android 使用html标签

2015-08-05 14:16 316 查看
Android中使用html标签很大程度上提高了开发的灵活性。下面是一个简单的使用示例,设置了字体颜色并在中间嵌入了一张图片。

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Html;
import android.text.Spanned;
import android.widget.TextView;

/**
* Created by hsji on 2015/8/5.
*/
public class HtmlStringActivity extends Activity{
TextView content;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_html_string);
content = (TextView) findViewById(R.id.content);

/**
* This methos is called when the HTML parser encounters an <img> tag.
* The source argument is the string from the "src" attribute;
* the return value should be a Drawable representation of the image or null for a generic replacement image.
* Make sure you call setBounds() on your Drawable if it doesn't already have its bounds set.
*/
Html.ImageGetter imageGetter = new Html.ImageGetter(){

@Override
public Drawable getDrawable(String source) {
Drawable drawable = null;
try {
drawable = getResources().getDrawable(Integer.parseInt(source));
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
}catch (NumberFormatException e){
e.printStackTrace();
}
return drawable;
}
};

StringBuffer sb = new StringBuffer();
sb.append("<font color=\"#ff0000\">我</font>")
.append("<img src=\""+R.drawable.heart+"\"/>")
.append("<font color=\"#ff0000\">董英</font>");
Spanned spanned = Html.fromHtml(sb.toString(),imageGetter,null);
content.setText(spanned);
}
}


效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: