直接看代码吧,简单的几行代码,我也就记个笔记。
/**
* 利用java反射技术获取Drawble里面的id
* @param name
* @return
*/
public int getResoriceId(String name)
{
try{
Field field = R.drawable.class.getField(name);
return Integer.parseInt(field.get(null).toString());
}
catch (Exception e)
{
}
return 0;
}
textView = (TextView) findViewById(R.id.textview);
String html="图像1 <img src='ic_launcher'/> <a herf=http://www.baidu.com> <p>百度网址</p></a>";
CharSequence charSequence = Html.fromHtml(html, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
// TODO Auto-generated method stub
Drawable drawable = getResources().getDrawable(getResoriceId(source));
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
return drawable;
}
}, null);
textView.setText(charSequence);
textView.setMovementMethod(LinkMovementMethod.getInstance());
edittiext就更简单了。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ImageSpan imageSpan =new ImageSpan(bitmap);
SpannableString spannableString = new SpannableString("launcher");
spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
edittext.append(spannableString);