2012-01-21 17 views
18

पहले पोस्ट यहाँ =) मैं इस उत्तर की तलाश कर रहा हूं और इसे ढूंढने में सक्षम नहीं हूं। मैं क्या करना चाहता हूं इसमें कुछ टेक्स्ट है, फिर एक छवि जोड़ें, फिर बाकी पाठ। उदाहरण के लिए:एंड्रॉइड टेक्स्ट में टेक्स्ट जोड़ें (टेक्स्ट व्यू में)?

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

मैं देख कर दिया गया है, लेकिन सभी मैं पा सकते हैं छवि के लिए पाठ जोड़ने या छवि देखें में चित्र जोड़ी है, और मुझे नहीं लगता कि मैं क्या चाहते हो, क्योंकि एप्लिकेशन मुख्य रूप से पाठ लेकिन साथ है इस पर छवियों।

तो मेरा सवाल है: मैं टेक्स्ट में एक छवि कैसे जोड़ूं?

धन्यवाद


अद्यतन: मैं सलाह R.daneel.olivaw मुझे दिया इस्तेमाल किया और यह अच्छा काम किया =)

लेकिन मैं एक समस्या है। मान लें कि मेरे पास है: "ए बी सी" जहां मैंने बी की स्थिति को स्पैन करने योग्य के रूप में सेट किया है। लेकिन अगर मैं पाठ को हटाने की कोशिश करता हूं और मैं बी को हटाता हूं, अगली बार जब मैं कुछ लिखता हूं तो यह छवि बन जाएगी जो मैं स्पैन करने योग्य में उपयोग करता हूं। मैं इसे कैसे ठीक करूं? किसी को भी कोई सलाह मिली है? धन्यवाद =)

उत्तर

25

मुझे लगता है कि आप Spannable इंटरफेस के लिए देख रहे हैं तो आप इस का उपयोग करके: http://developer.android.com/reference/android/graphics/Canvas.html

यहाँ एक उदाहरण है जो स्क्रीन के केंद्र में कुछ पाठ आकर्षित है:

कैनवास दस्तावेज़ देखें एक पाठ दृश्य में छवियों को जोड़ सकते हैं।

यह link मदद कर सकता है।

enter image description here

+0

काम करेंगे इस work.awsome को तेजी, मैं यह कोशिश कर रखने के लिए और तब दिखाई देगा, यह क्या मैं = चाहते हैं करता है) – user1162299

+0

हैलो, इसे बाहर बारी किया आपके लिए उपयोगी होना है? –

+0

हाँ, पूरी तरह से काम किया। धन्यवाद। लेकिन मुझे दिक्कत है। कहता है कि मेरे पास है: "ए बी सी" जहां मैंने बी के रूप में बी की स्थिति निर्धारित की है। लेकिन अगर मैं पाठ को हटाने की कोशिश करता हूं और अगली बार जब मैं कुछ लिखता हूं तो मैं बी को हटा देता हूं, यह छवि बन जाएगी जो मैंने स्पैन करने योग्य में उपयोग की थी। मैं इसे कैसे ठीक करूं? – user1162299

0

जैसा कि मुझे पता है, ऐसा करने का कोई तरीका नहीं है।

लेकिन जब आप वेबव्यू और जेनरेट किए गए एचटीएमएल का उपयोग करते हैं तो आप सिमिलर कर सकते हैं।

अपनी सामग्री से एचटीएमएल उत्पन्न करता है, और इसे वेबव्यू पर लोड करता है, वेबव्यू सेटिंग्स को ज़ूम नियंत्रण में सेट करता है।

2

आपका सबसे अच्छा विकल्प अपना खुद का दृश्य बनाना है, और टेक्स्ट के लिए canvas.drawText() का उपयोग करके ऑनड्रा() विधि को ओवरराइड करना है, और छवियों के लिए canvas.drawBitmap()। ,

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> 

अपने स्ट्रिंग के लिए इस जोड़ें और यह

संबंधित मुद्दे