热搜:NVER node 开发 php

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

2024-11-10 13:55:01
TextView高级应用之:TextView显示Html格式内容及图片_html/css_WEB-ITnose

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

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

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

<?xml version="1.0" encoding="utf-8"?>
    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("", imageGetter, null));
}
}