2012-02-03 25 views
0

可以在android中添加動態文本以繪製或位圖嗎?即時嘗試做一些動態獲取一些文本,並將該文本放入圖像。或者至少我想給用戶一個錯覺,即文本在該圖像內。如何在位圖或繪圖中添加文本?

+0

試試這種方法http://stackoverflow.com/questions/6159186/how-do-i-write-text-over-a-picture-in-android-and-save-it/8238281#8238281 – MKJParekh 2012-02-03 04:50:09

回答

0

你有沒有考慮簡單地覆蓋TextView覆蓋ImageView使用相對佈局?

+0

嗯它可能會工作,但考慮如果我必須使用setContenView()每秒設置佈局,它會影響性能嗎? – Vins 2012-02-03 02:58:16

+0

您不能多次調用setContentView()。你必須讓你的父佈局成爲相對的佈局,並將其作爲參數傳入,如下所示:setContentView(R.layout.yourlayoutxmlfilename) – FoamyGuy 2012-02-03 03:10:45

0

我知道你已經找到了解決辦法,但有些人可能有興趣在使用文本設置ImageView的這一新的方式

這裏是我的解決方案: -

Bitmap bitmap = BitmapFactory.decodeResource(
      getResources(), com.cinchvalet.app.client.R.drawable.slider_pop_counter); 

    Bitmap bmp = bitmap.copy(Bitmap.Config.ARGB_8888, true); 
    Canvas c = new Canvas(bmp); 
    String text = "Your text"; 
    Paint p = new Paint(); 
    p.setTypeface(Typeface.DEFAULT_BOLD); 
    p.setTextSize(35); 
    p.setColor(getResources().getColor(com.cinchvalet.app.client.R.color.Black)); 
    int width = (int) p.measureText(text); 
    int yPos = (int) ((c.getHeight()/2) 
      - ((p.descent() + p.ascent())/2) - 10); 
    c.drawText(text, (bmp.getWidth() - width)/2, yPos, p); 

-on位圖圖像繪製文本在位圖上,然後你可以設置位圖爲你的Imageview

-THanks!

相關問題