Android添加图像到文本(在文本视图)?

第一个post在这里=)我一直在寻找这个答案,一直没能find它。 我想要做的是有一些文字,然后添加一个图像,然后其余的文字。 例如:

____ | | Hi there, this is the photo |___|, hope you like it.. 

我一直在寻找,但我所能find的是添加文字到图像或添加图像到图像查看,我不认为这就是我想要的,因为该应用程序主要是文字,但与图像。

所以我的问题是:如何将图像添加到文本?

谢谢


更新:我用的build议R.daneel.olivaw给了我,它的工作很好=)

但是我有一个问题。 可以说我有:“abc”,我把b的位置设置为可展开的。 但是,如果我尝试删除文本,并删除b,下一次我写东西,它会成为我用在spanable图像。 我该如何纠正? 有没有人有任何build议? 感谢=)

Solutions Collecting From Web of "Android添加图像到文本(在文本视图)?"

我想你正在寻找Spannable接口,通过使用这个你可以添加图像到文本视图。

这个链接可能有帮助。

在这里输入图像说明

您最好的select是创build您自己的视图,并使用canvas.drawText()替代文本,并使用canvas.drawBitmap()替代图像,从而覆盖onDraw()方法。

请参阅Canvas文档: http : //developer.android.com/reference/android/graphics/Canvas.html

这里是一个在屏幕中心画一些文字的例子:

 public class OverlayView extends View { public OverlayView(final Context context) { super(context); } /** * Draw camera target. */ @Override protected void onDraw(final Canvas canvas) { // view size int width = getWidth(); int height = getHeight(); float square_side = height - width * 0.8f; // size of the target square Paint paint = new Paint(); paint.setAntiAlias(true); paint.setStyle(Paint.Style.FILL); // text size is 5% of the screen height paint.setTextSize(height * 0.05f); // draw message depending of its width String message = getResources().getString(R.string.photo_target_text); float message_width = paint.measureText(message); paint.setColor(getResources().getColor(R.color.color_foreground)); canvas.drawText(message, (width - message_width) / 2, (height - square_side) / 4, paint); super.onDraw(canvas); } } 

据我所知,没有办法做到这一点。

但是当你使用webview和生成的HTML,你可以做simillar一个。

从你的内容生成HTML,并将其加载到networking视图,设置Web浏览器设置为没有缩放控制。

这可以通过图像获取器来完成: Html.ImageGetter

您将不得不为每个图像使用HTML标签。

 < string name="text" > "Hi there, this is the photo [img src=img.jpge/] , hope you like it. < / string> 

将其添加到您的string,它将工作