android textview 显示图片
时间: 2023-08-23 13:08:26 浏览: 50
在 Android 中,可以通过以下两种方式在 TextView 中显示图片:
1. 使用 HTML 标记
可以在 TextView 中使用 HTML 标记来显示图片。具体做法如下:
在 strings.xml 中定义一个包含 HTML 标记的字符串:
```xml
<string name="html_text">这是一个包含图片的文本:<br><img src="android.resource://com.example.app/drawable/ic_launcher"/></string>
```
在代码中获取该字符串,并将其设置给 TextView:
```java
textView.setText(Html.fromHtml(getString(R.string.html_text)));
```
其中,`android.resource://com.example.app/drawable/ic_launcher` 是图片的路径,需要根据实际情况进行修改。
2. 使用 SpannableString
使用 SpannableString 可以在 TextView 中插入图片,并且可以控制图片的大小和位置。具体做法如下:
```java
SpannableString spannableString = new SpannableString("这是一个包含图片的文本:");
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
spannableString.setSpan(imageSpan, spannableString.length() - 1, spannableString.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
```
其中,`R.drawable.ic_launcher` 是图片的资源 ID,需要根据实际情况进行修改。`setBounds()` 方法用于设置图片的大小和位置,`ALIGN_BASELINE` 表示将图片和基线对齐。`setSpan()` 方法用于将图片插入到 SpannableString 中。