在QQ聊天中会看到图片和文字混合显示的情况。在网上找了一下资料并且总结了一下。
1 textView = (TextView) findViewById(R.id.text); 2 final String text = ""; 3 4 // 根据资源ID获得资源图像的Bitmap对象 5 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.light); 6 // 根据Bitmap对象创建ImageSpan对象 7 ImageSpan imageSpan = new ImageSpan(this, bitmap); 8 // 创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像 9 SpannableString spannableString = new SpannableString(text); 10 // 用ImageSpan对象替换text 11 spannableString.setSpan(imageSpan, 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 12 13 textView.append(spannableString);
这种方式也可以在EditText中实现图片和文字的混合显示。