2012-05-04 13 views
22

मैं इस विधि को समझने के लिए किसी भी सुराग की तलाश में हूँ।एंड्रॉयड - समझौता View.getLocalVisibleRect (रेक्ट)

official Android's SDK documentation इसके बारे में कोई जानकारी नहीं है।

आयत किस तरह इसे वापस करता है?

यह MotionEvent में की तरह कच्चे coorinates से भरा है?

यदि यह दृश्य दिखाई नहीं दे रहा है तो क्या होगा? क्या यह शून्य हो जाता है? या कुछ आयत के अंदर कुछ प्रकार के VIEW_INVISIBLE मूल्यों के साथ?

जो कोई भी इस विधि के साथ काम करने का अनुभव है मुझे एक हाथ दे सकते हैं?

+0

साथ विचारों के लिए रिटर्न फाल्स चाहिए मैं प्रलेखन के लिए एक मुद्दा बनाया। आप इसे यहां ट्रैक कर सकते हैं https://issuetracker.google.com/issues/73832083 बीटीडब्लू आप दस्तावेज़ीकरण के लिए भी समस्या बना सकते हैं यदि आप कुछ अनुपलब्ध या अनुचित देखते हैं। पृष्ठ के बहुत नीचे पर 'समर्थन' अनुभाग है। और वहां आप 'दस्तावेज़ प्रलेखन बग' चुन सकते हैं। –

उत्तर

20

JavaDoc of getGlobalVisibleRect से:

/** 
* If some part of this view is not clipped by any of its parents, then 
* return that area in r in global (root) coordinates. To convert r to local 
* coordinates (without taking possible View rotations into account), offset 
* it by -globalOffset (e.g. r.offset(-globalOffset.x, -globalOffset.y)). 
* If the view is completely clipped or translated out, return false. 
* 
* @param r If true is returned, r holds the global coordinates of the 
* visible portion of this view. 
* @param globalOffset If true is returned, globalOffset holds the dx,dy 
* between this view and its root. globalOffet may be null. 
* @return true if r is non-empty (i.e. part of the view is visible at the 
* root level. 
*/ 

getLocalVisibleRect getGlobalVisibleRect कॉल और फिर इसे स्थानीय रूप में सुझाव देता है:

r.offset(-offset.x, -offset.y); // make r local` 

तो:

  • यह वापस नहीं करता है एक आयत, यह एक बूलियन देता है। लेकिन यह आपके द्वारा पारित आयताकार के पैरामीटर सेट कर सकता है, और यह एक android.graphics होना चाहिए। आयत आयत;
  • आयत आर स्थानीय समन्वय से भरा जाएगा;
  • मुझे यकीन है कि नहीं कर रहा हूँ, लेकिन मुझे लगता है कि, दृश्यमान और अदृश्य दृश्यों के लिए समान है, जबकि यह visibility="gone"
+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद। शायद, एंड्रॉइड स्रोत कोड में इस विधि के बारे में और अधिक जवाब हैं। – UnknownJoe

+3

आम तौर पर एंड्रॉइड में स्रोत पढ़ना क्या हो रहा है यह जानने के लिए सबसे अच्छा पहला कदम है। –

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