9

मेरे ऐप में मैं साझा वस्तुओं as suggested in option #2 in this postएंड्रॉयड - उपकरण पट्टी और सामग्री के साथ साझा वस्तुओं के रूप में स्थिति पट्टी में परिवर्तन

सामान्य व्यवहार और उपकरण पट्टी की रूपरेखा और टैब उत्कृष्ट रहे हैं के रूप में उपकरण पट्टी और स्थिति पट्टी सेट - केवल मुद्दा है जब मैं गतिविधि बी पर जाता हूं तो कुछ पाठ और आइकन बदल रहे हैं - और वर्तमान में साझा तत्व संक्रमण पूर्ण होने के बाद परिवर्तन किया जाता है।

मैं उपकरण पट्टी के बच्चों और टैब के ऊपर पाश करने के लिए एक SharedElementCallback जोड़ने और उस में और उन सब एक फीका संक्रमण में जोड़ने की कोशिश की - लेकिन यह उपकरण पट्टी और टैब सामग्री के व्यवहार को प्रभावित नहीं किया।

कोई विचार यहां से कैसे आगे बढ़ना है? टिप्पणी के बाद

जोड़ा गया स्क्रीनशॉट:

गतिविधि एक

In Activity A

गतिविधि बी

In Activity B

+0

विस्तृत महोदय, बदलते कैसे, आप दे सकते हैं स्क्रीनशॉट? – Elltz

+0

आपका वांछित व्यवहार क्या है? "* जब मैं गतिविधि बी में जाता हूं तो कुछ पाठ और आइकन बदल रहे हैं *" - गतिविधियों को आपके आवेदन के स्वतंत्र घटक होना चाहिए, गतिविधि में स्विच करते समय यह टेक्स्ट और/या आइकन क्यों बदलना चाहिए? – Simas

+0

जो मैं चाहता हूं वह गतिविधि ए से बी तक टूलबार में एक चिकनी संक्रमण है - जिसका अर्थ है कि ए में प्रस्तुत किए गए आइकन और टेक्स्ट से कुछ फीका हुआ है और बी में प्रस्तुत किए गए आइकन और टेक्स्ट में फीका है। वर्तमान में पृष्ठभूमि ठीक है लेकिन पाठ और एनीमेशन स्विच करता है जब एनीमेशन –

उत्तर

1

प्रत्येक गतिविधि, अपने खुद के मेनू है तो आप के लिए मेनू बनाने के लिए प्रत्येक एक, भले ही वे वही हैं।

हालांकि, यदि आप चाहें, तो आप केवल एक मेनू बना सकते हैं और मेनू में हेरफेर करने के लिए कस्टम क्लास बना सकते हैं; फिर आप इस कस्टम क्लास को onCreateOptionsMenu और onOptionsItemSelected पर जो भी गतिविधि से कॉल करते हैं।

निम्नलिखित कोड एक उदाहरण है।

कस्टम वर्ग:

public class MenuActionBar { 

    public static void createOptionsMenu(final Activity activity, Menu menu) { 

     activity.getMenuInflater().inflate(R.menu.yourmenu, menu); 

     // Do whatever you wanna do 

    } 

    public static boolean optionsItemSelected(Activity activity, MenuItem item) { 

     // Do whatever you wanna do 

    } 

} 

गतिविधि:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    MenuActionBar.createOptionsMenu(this, menu); 

    return super.onCreateOptionsMenu(menu); 

} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    return MenuActionBar.optionsItemSelected(this, item) 
      ? true : super.onOptionsItemSelected(item); 

} 
+0

पूरा करता है सवाल यह है कि एक मेनू से दूसरे –

+0

में संक्रमण को एनिमेट करने का तरीका है, लेकिन आपने कहा कि यह अच्छी तरह से काम कर रहा है, और एकमात्र मुद्दा आइकन और ग्रंथों को बदलता है। अपने एनीमेशन कोड को कस्टम क्लास में डालने का प्रयास करें। –

+0

वे एनीमेशन के बिना बदलते हैं - वह हिस्सा जो ठीक काम कर रहा है वह वह हिस्सा है जहां संपूर्ण टूलबार झिलमिलाहट नहीं कर रहा है - जो मुद्दा है जिसे मैंने लिंक में संबोधित किया था –

संबंधित मुद्दे