2013-04-05 3 views
6

के बीच एंड्रॉइड अंतर View.getLeft() बनाम View.getScrollX() के बीच क्या अंतर है? कृपया कॉपी और पेस्ट न करें परिभाषा दस्तावेज़ से, क्योंकि मैं नीचेView.getLeft() बनाम View.getScrollX()

getScrollX()

Return the scrolled left position of this view. 

getLeft()

Left position of this view relative to its parent 

यह तुम्हारे लिए क्या करने के बारे में मैं उन लगता हूँ 2 मान समान होना चाहिए, लेकिन मेरा नमूना कार्यक्रम, यदि मैं View.scrollBy (20, 0) देखता हूं तो मुझे लगता है कि getScrollX() 20 वापस आ जाएगा और दृश्य वास्तव में दाईं ओर ले जाया गया है, लेकिन getLeft() बनी हुई है शून्य होने के लिए

मैं, उलझन में हूँ अगर नेत्रहीन दृश्य 20px से सही करने के लिए स्क्रॉल किया जा रहा है, अपने बाएँ स्थिति के साथ-साथ अद्यतन किया जाना चाहिए क्योंकि, लेकिन यह अभी भी 0

है जाहिर है कि वे एक ही नहीं, अन्यथा हो सकता है 2 विभिन्न तरीकों कि एक ही परिणाम लौटने के लिए कोई जरूरत नहीं

कृपया मदद

उत्तर

3

getLeft() रिटर्न अपनी मूल करने के लिए विचारों स्थान सापेक्ष है। यह कैसे स्क्रॉल किया गया है यह बिल्कुल प्रभावित नहीं करता है। स्क्रॉलिंग दृश्य की सामग्री को प्रभावित करती है, न कि इसके स्थान पर।

getLeft() के बारे में एंड्रॉयड प्रलेखन से एक उद्धरण:

For instance, when getLeft() returns 20, that means the view is located 20 pixels to 
the right of the left edge of its direct parent. 

getScrollX(), दूसरे हाथ पर, की मदद से आप जानते हैं कि कैसे ध्यान में रखते हुए सामग्री ले जाया गया है।

View.scrollBy (20,0) दृश्य में सामग्री को प्रभावित करता है (दृश्य के सबव्यूज़ की तरह) और वास्तव में व्यू के माता-पिता के सापेक्ष दृश्य को स्थानांतरित नहीं करता है।

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