2012-10-31 24 views
8

जब उपयोगकर्ता इसे संपादित करना शुरू करता है तो मैंने संपादन को एनिमेट करने का प्रयास किया। मैं निम्नलिखित कोड की कोशिश की है,एंड्रॉइड: एनिमेटिंग एनिमेट करने में समस्याएं?

EditText txtPassword = (EditText) findViewById(R.id.editText1); 
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.anim); 
anim.setInterpolator((new AccelerateDecelerateInterpolator())); 
anim.setFillAfter(true); 
txtPassword.startAnimation(anim); 

anim.xml 
```````` 
<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate android:fromYDelta="0" android:toYDelta="-50%p" android:duration="100"/> 
</set> 

एनीमेशन ठीक काम करता है। लेकिन एडिटेक्स्ट ने एनीमेशन के बाद उपयोगकर्ता इंटरैक्शन को रोक दिया। यदि उपयोगकर्ता स्क्रीन के संपादन की पिछली स्थिति को छूता है, तो कीबोर्ड दिखाई देता है। लेकिन वास्तव में नई स्थिति में संपादन को जवाब देना चाहिए। मुझे क्या करना है?

enter image description here

enter image description here मुझे आशा है कि किसी को सही अंग्रेज़ी प्रारूप में मेरे सवाल संपादित कर सकते हैं।

उत्तर

0

(उपयोगी संकेत: वहाँ मंच वापस 1.0 !. करने के सभी संस्करणों यह NineOldAndroid कहा जाता है पर Honeycomb (Android 3.0) एनीमेशन एपीआई का उपयोग कर के लिए एक एंड्रॉयड पुस्तकालय है।)

(उपयोगी संकेत (एंड्रॉयड डेवलपर्स , View): एंड्रॉइड 3.0 से शुरू करना, एनिमेटिंग विचारों का पसंदीदा तरीका एंड्रॉइड.एनिमेशन पैकेज एपीआई का उपयोग करना है। ये एनीमेटर-आधारित वर्ग अल्फा और ट्रांसलेशनएक्स जैसे व्यू ऑब्जेक्ट के वास्तविक गुणों को बदलते हैं। यह व्यवहार इसके विपरीत है प्री-3.0 एनीमेशन-आधारित कक्षाओं में से, जो डिस्प्ले पर दृश्य को कैसे खींचा जाता है, विशेष रूप से एनिमेट करता है। विशेष रूप से, व्यूप्रॉपर्टीएनिमीटर क्लास इन व्यू गुणों को विशेष रूप से आसान और कुशल बनाता है।)

(कि नोट: नीचे समाधान पूर्व-हनीकोम्ब लिए है।)

एनिमेशन android के साथ, समझने के लिए थोड़ा मुश्किल है आईओएस के विपरीत। आपको यह जानने की ज़रूरत है;

  • केवल एंड्रॉइड व्यू उपclass का भूत एनिमेटेड है।
  • और कब्र समन्वय

तो समाधान हो सकता है पूर्वज पर अब भी है;

  • ब्लॉक स्पर्श घटनाओं को देखने के

    animatingView.setEnabled(FALSE);

  • चेतन दृश्य

  • निकालें animatingView

    animatingView.setVisibility(GONE); (animatingView.getParent()).removeView(animatingView);

  • जोड़ें नए निर्देशांक के लिए सही डुप्लिकेट।

+0

आपके उत्तर के लिए धन्यवाद लेकिन जिंजरबर्ड (एंड्रॉइड 2.3) के बारे में क्या? सोलन की जरूरत है भाग के नीचे –

+0

वह समाधान है जो मैंने प्रदान किया है। आप किस भाग को समझ नहीं सकते? –

+0

आपने कहा कि यह एंड्रॉइड 3.0 है लेकिन एंड्रॉइड 3.0 संस्करण –