百度知道上提问,热心网友告诉我的。在此感谢他,并记录笔记如下:
1 //android TextView、EditText对部分内容设置颜色、字体、超链接、图片: 2 3 //这里是以一个TextView为例子,EditText的设置方法和TextView一样 4 5 //TextView对象 6 TextView txtInfo = new TextView(this); 7 8 //文本内容 9 SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");10 11 //设置0-2的字符颜色12 ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);13 14 //设置2-5的字符链接到电话簿,点击时触发拨号15 ss.setSpan(new URLSpan("tel:4155551212"), 2, 5,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);16 17 //设置9-11的字符为网络链接,点击时打开页面18 ss.setSpan(new URLSpan("19 ), 9, 11,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);20 21 //设置13-15的字符点击时,转到写短信的界面,发送对象为1008622 ss.setSpan(new URLSpan("sms:10086"), 13, 15,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);23 24 //粗体25 ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 5, 7,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);26 27 //斜体28 ss.setSpan(new StrikethroughSpan(), 7, 10,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);29 30 //下划线31 ss.setSpan(new UnderlineSpan(), 10, 16,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);32 33 //以下代码是在指定位置插入图片34 Drawable d = getResources().getDrawable(R.drawable.icon);35 36 //设置图片大小37 d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());38 39 //插入的位置40 ss.setSpan(new ImageSpan(d, ImageSpan.ALIGN_BASELINE), 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);41 42 //设置文本内容到textView43 txtInfo.setText(ss);44 45 //不添加这一句,拨号,http,发短信的超链接不能执行.46 txtInfo.setMovementMethod(LinkMovementMethod.getInstance());