मेरे डिवाइस का रिज़ॉल्यूशन 1080*1920 (portrait) है, और मेरे वेबव्यू का आकार 1080*960 है

मैं इसका अनुवाद करने के लिए वेबव्यू पर अनुवादएनीमेशन का उपयोग करता हूं from y=0 to y=960

TranslateAnimation animation = new TranslateAnimation(0f, 0f, 0f, 960f);
animation.setDuration(300);
animation.setFillAfter(true);

webview.startAnimation(animation);

एंड्रॉइड मुझे वेबव्यू को y=960 तक खींचने में मदद करता है, लेकिन मैं y range [960, 1920] में किसी भी टच इवेंट को ट्रिगर नहीं कर सकता, इसके बजाय, मेरा टच इवेंट y range [0, 960] में ट्रिगर होता है।

ऐसा लगता है कि कुछ नियंत्रण घटक या अन्य चीजों का वेबव्यू के साथ y=960 में अनुवाद नहीं किया गया था।

क्या नियंत्रण को y = 960 में अनुवाद करने का कोई तरीका है, या अन्य बेहतर समाधान की सिफारिश की जाती है?

बहुत धन्यवाद।

1
Nestarneal 19 अप्रैल 2017, 13:05

1 उत्तर

सबसे बढ़िया उत्तर

TranslateAnimation मैट्रिक्स को एनिमेट करता है, View को ही नहीं। तो, आप अंत में एक भ्रम देखते हैं: आप एक View देखते हैं जिसमें वास्तव में अन्य निर्देशांक होते हैं।

एनीमेशन समाप्त होने के बाद या तो आपको WebView निर्देशांक बदलने होंगे, या आप TranslateAnimation के बजाय धाराप्रवाह API का उपयोग कर सकते हैं:

webview.animate()
       .y(960f)
       .setDuration(300);
2
azizbekian 19 अप्रैल 2017, 14:52
आपकी प्रतिक्रिया के लिए धन्यवाद। साथ ही, थ्रेड एक एनिमेशन? मेरे लिए भी मददगार है।
 – 
Nestarneal
20 अप्रैल 2017, 05:50