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); } }
效果如下: