के अंदर एक ही वर्ण के सटीक निर्देशांक खोजें वर्तमान में मैं टेक्स्ट व्यू के पाठ की एक प्रति के माध्यम से paintObject.measureText(textCopy.substring(0,i))
का उपयोग कर रहा हूं। उदाहरण के लिए, measureText("abc".substring(0,1))
मुझे 'बी' के सापेक्ष एक्स निर्देशांक देगा। y समन्वय मुझे layout.getLineTop()
से मिलता है। यह काम कर रहा है लेकिन सटीकxगैर-मोनोस्पेस्ड फोंट के लिए निर्देशांक नहीं है। मैं थोड़ा अंशांकन कर सकता हूं, लेकिन प्रत्येक डिवाइस पर यह अलग-अलग काम करता है।टेक्स्ट व्यू
सबसे अच्छा समाधान मैं सोच सकता हूं कि स्क्रीन पर टेक्स्टव्यू ड्राइंग के लिए जिम्मेदार वर्ग को ओवरराइट करना है और उम्मीद है कि स्क्रीन पर खींचे गए प्रत्येक चरित्र के निर्देशांक प्राप्त करें।
क्या कोई यह जानता है कि इसे पूरा करने के लिए मुझे किस वर्ग को ओवरराइट करने की आवश्यकता है? या शायद कुछ अन्य रचनात्मक समाधान?
क्या टेक्स्ट में कोई मार्कअप होना चाहिए (जैसे कुछ HTML टैग)? यदि नहीं, तो आप टेक्स्टव्यू के "ऑनड्रा()" को ओवरराइड कर सकते हैं और कृपया टेक्स्ट को आकर्षित कर सकते हैं। –
इसमें स्पैन किए गए टेक्स्ट हो सकते हैं। – Igor
ठीक है कि चीजों को थोड़ा सा जटिल करता है, "ऑनड्रा()" में आपको प्रत्येक पेंट को जो भी स्पैन होता है, उसे बोल्ड या इटैलिक इत्यादि के आधार पर प्रस्तुत करना होगा, जिसे 'पेंट' को आकर्षित करने के लिए उपयोग किया जा रहा है। –