android html字体颜色代码,andorid,动态设置TextView文本中字体的颜色和格式,用Html.fromHtml方法...

在android中,有一个Html.fromhtml(String source)方法,可以将比如文本

框中的字符串进行HTML格式化,支持的还是很多的。例如:

/**

* 字体颜色突出显示

*

* @param before

*            前缀字符串

* @param color

*            要突出字符串颜色值

* @param text

*            要突出的字符串

* @param after

*            后缀字符串

* @return 处理后字符串

*/

public static Spanned fromHtml(String before, String color, String text, String after) {

String[] strs = null;

if (after.contains("\n")) {

strs = null;

strs = after.split("\n");

}

StringBuffer strB = new StringBuffer();

if (strs != null && strs.length > 0) {

for (int i = 0; i < strs.length; i++) {

strB.append(strs[i]);

if (i != strs.length - 1) {

strB.append("
");

}

}

} else {

strB.append(after);

}

return Html.fromHtml(before + "" + text + "" + strB.toString());

}

需要注意的是html的换行符跟java的区别,需要提取出来单独处理,不然无法换行

Android中显示html文件要用Html.fromHtml(...)处理过的返回值,返回值可以成为setText()的参数。

只显示带文本的html可以用下面的方法处理html文件。

public static Spanned fromHtml (String source)

显示带图片的html要用下面的方法处理html文件。

public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

ImageGetter 为处理html中的处理器,生成Drawable对象并返回。

创建ImageGetter 主要实现下面的方法,source为标签中src属性的值。

public class AndroidTest2Activity extends Activity {

/** Called when the activity is first created. */

TextView tv;

EditText et;

Button addPic;

String ct;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

et=(EditText) this.findViewById(R.id.editText1);

tv=(TextView) this.findViewById(R.id.tv);

ct="aaaaaa";

addPic=(Button) this.findViewById(R.id.AddPic);

addPic.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

ct+="%5C%22%22+R.drawable.icon+%22%5C%22";

refreshView();

}

});

refreshView();

}

private void refreshView(){

et.setText(Html.fromHtml(ct,imageGetter,null));

tv.setText(Html.fromHtml(ct,imageGetter,null));

}

ImageGetter imageGetter = new ImageGetter()

{

@Override

public Drawable getDrawable(String source)

{

int id = Integer.parseInt(source);

Drawable d = getResources().getDrawable(id);

d.setBounds(0, 0, d.getIntrinsicWidth(), d .getIntrinsicHeight());

return d;

}

};

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值