您的位置:首页 > 移动开发 > Android开发

android-----使用ImageSpan对象在TextView组件中显示图像

2015-12-16 16:24 721 查看
如何在TextView中显示图像?

只要用到ImageSpan就非常简单,下面用具体的例子说明一下ImageSpan的用法。

1、随便在布局文件上添加一个Textview对象,如下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="這是一個圖片" />

</RelativeLayout>

2、在Activity中添加如下的代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView tv=(TextView) findViewById(R.id.tv);
//根据id获取资源图像的bitmap对象
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//根据bitmap对象创建imageSpan对象
ImageSpan imageSpan=new ImageSpan(this, bitmap);
//创建SpannableString对象,以便插入imageSpan对象封装的图像
SpannableString spannableString=new SpannableString("icon 圖片");
//用imageSpan对象替换icon
spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//将图像显示在TextView上
tv.setText(spannableString);
}

3、显示效果如下



大功告成,是不是很简单?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息