欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

TextView高级应用之:TextView显示Html格式内容及图片_html/css_WEB-ITnose

程序员文章站 2022-04-21 18:40:37
...
TextView是我们开发中最最常用到的组件之一,最常用的功能主要是用来进行文字展示。可以设置文字的大小,颜色等效果等。如果觉得TextView的功能仅仅是用来显示文字的话,那就大错特错啦,更多的用处如展示图片,实现部分文字点击事件,实现诸如网址,手机号带链接等都能在TextView中一一实现。强大吧!

在项目中就经常用到TextView来显示Html格式的文字,今天就简单地贴一下。做个笔记。

-------------------------简单的布局main_test_html.xml,就一个TextView------------------------------


android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
android:id="@+id/htm_tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:padding="10dp"

android:textSize="16sp";

/>

-----------------------在Activity中实现展示html格式文字-------------------------------

public class TestActivity extends Activity {
private TextView htmlTv;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_test_html);
/**获得TextView控件*/
htmlTv = (TextView) findViewById(R.id.text);
/**我们自己拼凑Html格式字符串*/
String mHtmlStr = "Html TextView
";
mHtmlStr += "加粗斜体的文字

";
mHtmlStr += "带链接,点击直接跳新浪,呵呵";
/**要使用Html.fromHtml,把含HTML标签的字符串转换成可显示的文本(CharSequence:String,StringBuffer等的父类)样式*/
CharSequence charSequence = Html.fromHtml(mHtmlStr);
// 通过setText给TextView赋值
htmlTv.setText(charSequence);
/**************如果我们要给TextView上添加图片又怎么操作呢***************************************/
/**要用到Html类ImageGetter接口*/
ImageGetter imageGetter = new ImageGetter() {

@Override
public Drawable getDrawable(String source) {
int id = Integer.parseInt(source);
Drawable drawable = getResources().getDrawable(id);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
return drawable;
}
};
/**通过下面的方法就可以显示图片了*/
htmlTv.setText(Html.fromHtml("TextView高级应用之:TextView显示Html格式内容及图片_html/css_WEB-ITnose", imageGetter, null));
}
}