मैं एंड्रॉइड टच फोन पर उंगली आंदोलन दिशा को पकड़ना चाहता हूं। यदि कोई उपयोगकर्ता अपनी अंगुली को ऊपर/नीचे/बाएं/दाएं दिशा में स्लाइड करता है, तो मैं इस दिशा को कैप्चर करना चाहता हूं। मैं यह कैसे ढूंढ सकता हूं? धन्यवाद।एंड्रॉइड फोन में उंगली आंदोलन दिशा कैसे प्राप्त करें?
उत्तर
लागू onTouchEvent(), और जहाँ उपयोगकर्ता नीचे प्रेस और लिफ्टों द्वारा dx और डीवाई गणना। आप इस मूल्य का उपयोग कदम की दिशा जानने के लिए कर सकते हैं।
float x1, x2, y1, y2, dx, dy;
String direction;
switch(event.getAction()) {
case(MotionEvent.ACTION_DOWN):
x1 = event.getX();
y1 = event.getY();
break;
case(MotionEvent.ACTION_UP): {
x2 = event.getX();
y2 = event.getY();
dx = x2-x1;
dy = y2-y1;
// Use dx and dy to determine the direction of the move
if(Math.abs(dx) > Math.abs(dy)) {
if(dx>0)
direction = "right";
else
direction = "left";
} else {
if(dy>0)
direction = "down";
else
direction = "up";
}
}
}
आपकी सबसे अच्छी शर्त मोशनवेन्ट से निपटने के लिए होगी, जिसे आप View.OnTouchListener() कॉलबैक से प्राप्त करते हैं। मोशन इवेंट्स इस बात पर नजर रखता है कि आप वर्तमान में अपनी एक्शन प्रॉपर्टी द्वारा व्यू के साथ कैसे बातचीत कर रहे हैं।
मुझे लगता है कि आप मोशनवेन्ट्स की एक्शन प्रॉपर्टी की जांच करके और गति घटना के एक्स/वाई मानों की जांच करके अपनी दिशा को किस दिशा में स्लाइड कर सकते हैं, इसकी गणना कर सकते हैं।
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
oldX= event.getX();
oldY= event.getY();
break;
case MotionEvent.ACTION_MOVE:
int newX = motionEvent.getX();
int newY = motionEvent.getY();
int deltaX = oldX - newX;
int deltaY = oldY - newY;
if(Math.abs(deltaY)>Math.abs(deltaX))
//Motion in Y direction.
else
// Motion in X direction.
break;
}
रूप में अच्छी तरह उपयोग के लिए MotionEvent वस्तु पर उपलब्ध अन्य विधि के बहुत सारे हैं: http://developer.android.com/reference/android/view/MotionEvent.html
नीचे की जांच 'होना चाहिए, अगर (Math.abs (deltaY)> Math.abs (deltaX))' – tibbi
@tibbi तय है, धन्यवाद! –
- 1. एंड्रॉइड कोड में फोन का फोन नंबर कैसे प्राप्त करें?
- 2. एक्सेलेरोमीटर का उपयोग करके मैं आंदोलन की दिशा कैसे प्राप्त कर सकता हूं?
- 3. एंड्रॉइड में किसी फोन की एसएमएससी संख्या कैसे प्राप्त करें?
- 4. प्रगति में निरंतर एकीकरण की दिशा में आंदोलन, कोई सुझाव?
- 5. आईफोन उंगली आंदोलन के साथ विभिन्न आकारों को पहचानता है
- 6. एंड्रॉइड में दो-उंगली डबल-क्लिक को कैसे कार्यान्वित करें?
- 7. घुमावदार देखें व्यू - एंड्रॉइड में रोटेशन के बाद उंगली की दिशा में मानचित्र को कैसे स्वाइप करें?
- 8. एंड्रॉइड दिशा सेंसर
- 9. एंड्रॉइड: फोन कैसे टेलनेट करें?
- 10. एंड्रॉइड फोन से जीपीएस डेटा कैसे प्राप्त करें?
- 11. एंड्रॉइड फोन मॉडल, संस्करण, एसडीके विवरण कैसे प्राप्त करें?
- 12. एंड्रॉइड: संपर्क सूची में मौजूद फोन नंबर की जांच करें? (फोन नंबर फोन कॉल से प्राप्त करें)
- 13. तारांकन आंदोलन - php आंदोलन
- 14. ऐ एजेंट आंदोलन - उठा आंदोलन कोण
- 15. एंड्रॉइड SimpleOnPageChangeListener - स्वाइप दिशा निर्धारित करें
- 16. एंड्रॉइड डिवाइस (जीपीएस) दिशा
- 17. एंड्रॉइड फोन
- 18. एंड्रॉइड फोन अभिविन्यास मानव अभिविन्यास से मेल खाता कैसे प्राप्त करें?
- 19. फोन में संग्रहीत एंड्रॉइड उपयोगकर्ता नाम प्राप्त करना
- 20. एंड्रॉइड: फोन
- 21. माउस निर्देशांक से कार्डिनल माउस दिशा कैसे प्राप्त करें
- 22. एंड्रॉइड फोन
- 23. संपर्क में चयनित व्यक्ति का फोन नंबर कैसे प्राप्त करें
- 24. एंड्रॉइड आंतरिक फोन स्टोरेज
- 25. फोन के प्रकार के स्थानीय लेबल को कैसे प्राप्त करें?
- 26. हेड फोन जैक से इलेक्ट्रिक पावर कैसे प्राप्त करें?
- 27. जावा में मौन एंड्रॉइड फोन
- 28. एंड्रॉइड फोन
- 29. jQuery में विकर्ण आंदोलन में तत्व कैसे स्थानांतरित करें?
- 30. यदि मेरे एंड्रॉइड फोन में दो सिम कार्ड हैं तो मोबाइल नंबर कैसे प्राप्त करें?
अच्छा जवाब लेकिन मुझे कुछ टाइपो मिल गए और स्विच के अंदर से उन्हें परिवर्तनीय बनाने के लिए उन चरों में से कुछ को एक उच्च दायरे में लाना पड़ा। –
दूसरे स्विच केस के लिए मैंने ACTION_UP के बजाय ACTION_MOVE का उपयोग किया क्योंकि ViewPager स्वाइप में ACTION_UP के बिना आक्रमण किया जाता है। मेरे पास एक ViewGroup द्वारा आयोजित स्क्रॉलव्यू डब्ल्यू/लंबवत अभिविन्यास है और यह एक व्यूपेजर पृष्ठ है। ScrollView पर स्वाइप करें प्रतिक्रिया देने के बजाय पृष्ठ बदलता है। केस मोशनइवेंट.एक्शन_MOVE: फ्लोट डीएक्स = event.getX() - x1; फ्लोट dy = event.getY() - y1; अगर (Math.abs (dx) <= Math.abs (dy)) {// लंबवत स्क्रॉल v.getParent()। RequestDisallowInterceptTouchEvent (true); } अन्य {v.getParent()। RequestDisallowInterceptTouchEvent (false);} ब्रेक; –
स्क्रॉल व्यू डब्ल्यू/वर्टिकल ओरिएंटेशन एक व्यू ग्रुप I द्वारा आयोजित एक और स्क्रॉल व्यू के भीतर घोंसला हुआ। –