2012-02-17 21 views
10

मेरे पास एक टेक्स्ट व्यू है जिसका टेक्स्ट कई लाइनों पर चला सकता है। एक बार जब यह बना दिया गया है और गतिशील रूप से निर्धारित करते हैं, मैं एक दिया लाइन पर पाठ जाओएंड्रॉइड टेक्स्ट व्यू और टेक्स्ट की लाइन

  1. करना चाहते हैं, और
  2. चौड़ाई और इस लाइन की ऊंचाई पता है।

मैं यह कैसे कर सकता हूं?

उत्तर

20

अगर मैं सही ढंग जवाब समझ में 2 सवाल करने के लिए है:

textView.getLineBounds (int line, Rect bounds) 

पिक्सेल में चौड़ाई abs(bounds.right - bounds.left) होना चाहिए; और ऊंचाई abs(bounds.bottom - bounds.top)

आपका पहला सवाल थोड़ा अधिक मुश्किल है, लेकिन कुछ इस तरह की आवश्यकता जादू करना चाहिए है:

Layout layout = textView.getLayout(); 
String text = textView.getText().toString(); 
int start=0; 
int end; 
for (int i=0; i<textView.getLineCount(); i++) { 
    end = layout.getLineEnd(i); 
    line[i] = text.substring(start,end); 
    start = end; 
} 
+1

'स्ट्रिंग पाठ = textView.getText();' काम नहीं कर रहा – Deqing

+0

आप इसे 'toString()' करने की आवश्यकता होगी। मैं संकलक चेतावनियों से बचने के लिए 'textView.getText! = Null' सुनिश्चित करने के लिए भी एक चेक करता हूं। – LukeWaggoner

+0

टेक्स्ट व्यू लेआउट प्राप्त करने और लाइन आकार के लिए पूछताछ के बारे में बढ़िया संकेत! ठीक वही जो मेरे द्वारा खोजा जा रहा था –

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