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

野性酷女 2022-08-18 11:54 54阅读 0赞

如何在TextView中显示图像?

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

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

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10. <TextView
  11. android:id="@+id/tv"
  12. android:layout_width="wrap_content"
  13. android:layout_height="wrap_content"
  14. android:text="這是一個圖片" />
  15. </RelativeLayout>

2、在Activity中添加如下的代码

  1. protected void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.activity_main);
  4. TextView tv=(TextView) findViewById(R.id.tv);
  5. //根据id获取资源图像的bitmap对象
  6. Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
  7. //根据bitmap对象创建imageSpan对象
  8. ImageSpan imageSpan=new ImageSpan(this, bitmap);
  9. //创建SpannableString对象,以便插入imageSpan对象封装的图像
  10. SpannableString spannableString=new SpannableString("icon 圖片");
  11. //用imageSpan对象替换icon
  12. spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  13. //将图像显示在TextView上
  14. tv.setText(spannableString);
  15. }

3、显示效果如下

Center

大功告成,是不是很简单?

发表评论

表情:
评论列表 (有 0 条评论,54人围观)

还没有评论,来说两句吧...

相关阅读