目前我有一个应用程序,它在 和 的帮助下显示文本TextView
页面。ViewPager
Fragments
是否可以在运行时执行的文本视图中包含带有文本的图像?
我最初的想法是使用SpannableString
and ImageSpan
,但是如果图像大于一行文本,其余的文本会环绕它还是越过它?
可以ImageView
在运行时创建一个特定位置并且文本环绕它吗?
任何指导将不胜感激。
目前我有一个应用程序,它在 和 的帮助下显示文本TextView
页面。ViewPager
Fragments
是否可以在运行时执行的文本视图中包含带有文本的图像?
我最初的想法是使用SpannableString
and ImageSpan
,但是如果图像大于一行文本,其余的文本会环绕它还是越过它?
可以ImageView
在运行时创建一个特定位置并且文本环绕它吗?
任何指导将不胜感激。
我确实可以在 textview 中显示图像
public static Spannable getSmiledText(Context context, String text) {
SpannableStringBuilder builder = new SpannableStringBuilder(text);
int index;
for (index = 0; index < builder.length(); index++) {
for (Entry<String, Integer> entry : emoticons.entrySet()) {
int length = entry.getKey().length();
if (index + length > builder.length())
continue;
if (builder.subSequence(index, index + length).toString().equals(entry.getKey())) {
builder.setSpan(new ImageSpan(context, entry.getValue()), index, index + length,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
index += length - 1;
break;
}
}
}
return builder;
}
public static final HashMap<String, Integer> emoticons = new HashMap<String, Integer>();
static {
// emoticons.put("cup:", R.drawable.cup);
emoticons.put("glass", R.drawable.glasses);
emoticons.put("bike", R.drawable.bike);
emoticons.put("bottle", R.drawable.bottle);
}
然后将文本设置为
textView.setText(getSmiledText(context,"I love to ride bike with glass."));
它直接在TextView上设置自行车(R.drawable.bike)和眼镜(R.drawable.glasses)的图像