Intereting Posts
ListView पंक्ति में बटन से फोकस को सूची आइटम पर बदलना UI और गैर-UI मोड के साथ पृष्ठभूमि ऑपरेशन के लिए Android डिज़ाइन पैटर्न एंड्रॉइड ग्रेडिंग साइनफ़िक त्रुटि एक डिज़ाइन टैब से दूसरे टैब पर डेटा पास करें कैमरे के चयन के लिए कैमरे और गैलरी के बीच चुनना एंड्रॉइड एसडीके में पिछड़े संगत नई फीचर को कोड कैसे करें? DownloadManager फाइल को 2.1 जीबी से अधिक डाउनलोड करना कैसे सतहचित्र एंड्रॉइड पर छवि खींचें एंड्रॉइड और आईओएस: दोनों के लिए कैसे विकसित किया जाए? त्रिभुज विधि एंड्रॉइड जावा एसक्लाइट में एकाधिक कॉलम खोजें से चयन करें httpclient (phpmyadmin) एंड्रॉइड 4.0+ पर काम नहीं कर रहा है ऑनक्लिकलिस्टर से चर तक पहुंच एंड्रॉइड चेहरे का पता लगाने MaxNumDetectedFaces एंड्रॉइड पोर्टिंग – स्टेटस बार कस्टमाइजेशन

ScrollView की वर्तमान वाई ऑफसेट कैसे प्राप्त करें

ScrollView में एक्स और वाई स्क्रॉल ऑफ़सेट सेट करने के लिए एक विधि है, लेकिन वर्तमान ऑफ़सेट प्राप्त करने के लिए कोई भी तरीका नहीं है (सभी को मैं वास्तव में दिलचस्पी लेता हूँ y ऑफसेट है, क्योंकि ScrollView केवल ऊर्ध्वाधर स्क्रॉल का समर्थन करता है)। मुझे कोई भी तरीका दिखाई नहीं देता है जो सुपरसेलैस में काम करेगा, और सामग्री दृश्य के लिए getTop () की कोशिश की, जो हमेशा शून्य है। क्या मैं कुछ भूल रहा हूँ?

Solutions Collecting From Web of "ScrollView की वर्तमान वाई ऑफसेट कैसे प्राप्त करें"

ScrollView पर कॉल getScrollY () अधिक जानकारी के लिए यहां देखें: http://developer.android.com/reference/android/view/View.html#getScrollY%28%29

यदि आप निश्चित हैं कि आपको getScrollY () या getTop () का उपयोग करने के बाद कुछ मान प्राप्त करना चाहिए, तो उन विधियों को एक

 yourScroolView.post(new Runnable() { @Override public void run() { Toast.makeText(getApplicationContext(),"Current Y is : "+getScrollY,Toast.LENGTH_SHORT).show(); } }); 

अब यह काम करना चाहिए। इस पद्धति के बारे में मेरी समझ के अनुसार, लेआउट को खींचा जाने के बाद ही इसे चलाया जाएगा। यह एक कारण हो सकता है कि आपने पहले से 0 प्राप्त कर रखा था। आशा करता हूँ की ये काम करेगा।

आप ऐसा कुछ करने की कोशिश क्यों नहीं करते?

 targetScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { @Override public void onScrollChanged() { int scrollX = targetScrollView.getScrollX(); Log.d(TAG, "scrollX: " + scrollX); } }); 

के बारे में: computeHorizontalScrollOffset() और computeVerticalScrollOffset()

मैं निम्नलिखित से प्राप्त करने के लिए प्राप्त करता हूँ सबसे पहले स्क्रीन ऊँचाई और चौड़ाई प्राप्त करें।

 DisplayMetrics metrics = getResources().getDisplayMetrics(); float screenWidth = metrics.widthPixels; float screenHeight = metrics.heightPixels; 

तो दस्तावेज़ की ऊंचाई (कुल, जो दिखाया जा रहा है और स्क्रीन से बाहर क्या है) जानने के लिए

 public float getDocumentHeight(){ return (computeVerticalScrollRange() * screenHeight)/computeVerticalScrollExtent(); } 

अंत में ऑफसेट प्राप्त करने के लिए

 public float getTopY(){ return (getDocumentHeight() * computeVerticalScrollOffset())/computeVerticalScrollRange(); } 

यह आपको उस दस्तावेज़ के हिस्से के ऊपर खिड़की के ऊपर देता है जिसे आप देख रहे हैं ताकि आपको एक घटना की वास्तविक स्थिति मिल जाए

 public boolean onTouchEvent(MotionEvent event) { int y = event.getY() + (int) getTopY(); } 

आप चौड़ाई को संभालने के लिए कुछ भी कर सकते हैं