2012-01-21 166 views
18

這裏的第一篇文章=) 我一直在尋找這個答案,一直沒能找到它。 我想要做的是有一些文字,然後添加一個圖像,然後其餘的文字。例如:Android將圖像添加到文本(在文本視圖中)?

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

我一直在尋找,但所有我能找到的文字添加到圖像或添加圖片到圖片瀏覽,並且我不認爲這就是我想要的,因爲應用程序主要是文字,但與圖像上。

所以我的問題是:如何將圖像添加到文本?

感謝


更新: 我用R.daneel.olivaw給我的建議和它的工作很好=)

但是我有一個問題。可以說我有:「a b c」,我將b的位置設置爲可展開的。但是,如果我嘗試刪除文本並刪除b,下次我寫東西時,它將成爲我在spanable中使用的圖像。我該如何糾正? Any1one有任何建議嗎? 謝謝=)

回答

25

我認爲你正在尋找Spannable接口,通過使用這個你可以將圖像添加到文本視圖。

This link may help。

enter image description here

+0

這接縫work.awsome,我會一直努力解決它,看看它做什麼,我想=) – user1162299

+0

你好,它是否轉出對你有用嗎? –

+0

是的,完全合作。謝謝。但我有一個問題。 可以說我有:「a b c」,其中我將b的位置設置爲可展開。但如果我嘗試刪除文本,並在下次寫入內容時刪除b,它將成爲我用於展開的圖像。我該如何糾正? – user1162299

0

據我所知,沒有辦法做到這一點。

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

從您的內容中生成html,並將其加載到webview,將webview設置設置爲無縮放控件。

2

您最好的選擇是創建您自己的視圖,並使用canvas.drawText()替代文本,並使用canvas.drawBitmap()替換圖片的onDraw()方法。

見帆布DOC: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); 
} 

} 
0

這可以用圖像吸氣來完成:Html.ImageGetter

你將不得不使用HTML標記爲每個圖像。

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

到您的字符串添加這,也將努力

相關問題