navigation drawer - Android 5.0 - Animate the AppCompat v7 21 home icon from burger to back arrow programmatically -
मैं वर्तमान में एक टुकड़ा
उन्मुख ऐप (मेरे पास एक गतिविधि एक
फ़्रेमलेआउट
कंटेनर के रूप में मेरे सभी टुकड़े के लिए मेजबान के रूप में
s) से सामग्री डिज़ाइन के लिए और मैं बर्गर आइकन को टुकड़ा
की जगह के पीछे के तीर में चेतन करना चाहता हूं।
असल में, अगर यह पर्याप्त स्पष्ट नहीं था, तो मैं क्या हासिल करना चाहता हूं। मैं उपयोग नहीं करना चाहता, मैं संभव के विस्तार के लिए आधिकारिक AppCompat
lib का उपयोग करना चाहता हूं।
मैंने इस आशय का धन्यवाद धन्यवाद प्राप्त किया, लेकिन मैं नहीं कर सकता टुकड़ा
बदल दिया जाता है जब एक्शनबार ड्रॉवर टॉगल
में कैसे करें।
तो मेरे सवाल हैं: वापस तीर आइकन अभी भी होना चाहिए एक्शनबार ड्रॉवर टॉगल
एक बार रिज़ेंशन
को बदल दिया गया है? उस स्थिति में मैं इसे कैसे ओवरराइड करूँगा, इसलिए यह दराज खोलने के बजाय onBackpressed ()
जैसा दिखता है? मैंने पहले से ही इसे करने की कोशिश की है, लेकिन यह काम नहीं करता है:
@ ओवरराइड पब्लिक बूलियन ऑन ऑप्शन्स आईटम चयनित (मेनूइटम आइटम) {स्विच (आईटेट। आईटीएमआईडी ()) {केस android.r.id.home: getActivity () .onBackPressed (); वापस सच; } विवरण झूठा है; }
अग्रिम धन्यवाद।
मुझे लगता है कि यह थोड़ा सा है क्लीनर को दराज टॉगल के अंदर ट्रैक करने के लिए यदि आपने मैन्युअल रूप से इसे खोला है या नहीं यह है कि मैं क्या कर रहा हूं:
सार्वजनिक वर्ग मैनुअल एक्शनबारड्रावर टॉगल एक्शनबार ड्रॉवर टॉगल विस्तारित {निजी स्थिर अंतिम फ्लोट MENU_POSITION = 0f; निजी स्थिर अंतिम नाव ARROW_POSITION = 1.0f; निजी फाइनल एनीमेशन लैंगलाइन; निजी फाइनल ड्रॉवर लेआउट ड्रॉवरलेआउट; निजी अंतिम गतिविधि गतिविधि; निजी राज्य वर्तमान स्थान; निजी एंमान राज्य {UP_ARROW, MENU} सार्वजनिक मैनुअलएक्शनलबारड्राउवरटॉगल (गतिविधि गतिविधि, ड्रॉवर लेआउट दराजलेआउट, इंट ओपनड्राउवर कंटेंट डिस्क्रिप्शन रिसोर्स, इंट क्लोजर ड्रेजर कंटेंट डिस्क्रिप्शन रीसर्स) {सुपर (गतिविधि, ड्रॉवर लेआउट, ओपनड्रायवर कंटेंट डिस्क्रिप्शन रिसोर्स, क्लोजर ड्रेजर कंटेंट डिस्क्रिप्शन रिसोर्स); एन्निशन लैंग्वेज = गतिविधि.गेटरेसोतस ()। GetInteger (android.R.integer.config_shortAnimTime); This.drawerLayout = ड्रावरलेआउट; This.activity = गतिविधि; CurrentState = State.MENU; } सार्वजनिक शून्य animateToBackArrow () {ValueAnimator anim = ValueAnimator.ofFloat (MENU_POSITION, ARROW_POSITION); Anim.addUpdateListener (नया वैल्यूएनिमेटर.अनिमेटर अपडेट लिस्टनर () {@Override सार्वजनिक शून्य परएनिमेशन अपडेट (वैल्यूएनिमेटर वैल्यू एन्निमेटर) {float slideOffset = (फ्लोट) valueAnimator.getAnimatedValue (); onDrawerSlide (ड्रॉवरलेआउट, स्लाइडऑफ़सेट);}}); Anim.setInterpolator (नया डिसेलेरेट इंटरपोलेटर ()); anim.setDuration (animationLength); anim.start (); CurrentState = State.UP_ARROW; } सार्वजनिक शून्य animateToMenu () {ValueAnimator anim = ValueAnimator.ofFloat (ARROW_POSITION, MENU_POSITION); Anim.addUpdateListener (नया वैल्यूएनिमेटर.अनिमेटर अपडेट लिस्टनर () {@Override सार्वजनिक शून्य परएनिमेशन अपडेट (वैल्यूएनिमेटर वैल्यू एन्निमेटर) {float slideOffset = (फ्लोट) valueAnimator.getAnimatedValue (); onDrawerSlide (ड्रॉवरलेआउट, स्लाइडऑफ़सेट);}}); Anim.setInterpolator (नया डिसेलेरेट इंटरपोलेटर ()); anim.setDuration (animationLength); anim.start (); CurrentState = State.MENU; } @ ओवरराइड पब्लिक बूलियन ऑन ऑप्शन्स आईटम चयनित (मेनूइटम आइटम) {स्विच (आईटेट। आईटीएमआईडी ()) {केस (एंड्रॉइड। आरआईडएचओएमई): अगर (वर्तमान स्टेट = स्टेट स्टेटस .UP_ARROW) {activity.onBackpressed (); वापस सच; }} वापसी सुपर.ऑनॉप्शन आईटम चयनित (आइटम); }}
Comments
Post a Comment