एक ब्लूटूथ से संबंधित ऐप में ( minSdkVersion = "18"
के साथ) मेरे पास एक एकल < Strong> MainActivity.java , निम्न 3 यूआई के टुकड़ों में से एक प्रदर्शित करना:
- MainFragment.java (शीर्ष स्क्रीन)
- ScanningFragment.java (पास के ब्लूटूथ डिवाइसों की सूची)
"ऊपर बटन" प्रदर्शित करने के लिए और "वापस बटन" "मेरे पास निम्न कोड है:
सार्वजनिक वर्ग की मुख्य गतिविधि गतिविधि के विस्तार को बढ़ाती है BleWrapperUiCallbacks {// प्रत्येक रीमेक पर सेट () (रीसेट) प्रत्येक टुकड़ा निजी टुकड़ा mactifragment = null; '@BackPressed पर सार्वजनिक शून्य को ओवरराइड करें (यदि (! GetFragmentManager)। पॉपबैक स्टैक इम्यडिएट ()) super.onBackpressed (); } @ ओवरराइड सार्वजनिक शून्य पर क्रेट (बंडल सहेजे गए इन्स्टैंसस्टेट) {सुपर.नक्रेट (सहेजे गए इन्स्टेंसस्टेट); requestWindowFeature (Window.FEATURE_ACTION_BAR); setContentView (R.layout.activity_root); getActionBar () setDisplayHomeAsUpEnabled (सही)। यदि (सहेजे गए इन्स्टैंसस्टेट == रिक्त) {टुकड़ा टुकड़ा = नया मुख्य फ्रेममेंट (); GetFragmentManager ()। BeginTransaction () .replace (R.id.root, fragment, "main") .commit (); }} @ ओवरराइड पब्लिक बूलियन ऑन ऑप्शन इटैम सिलेक्ट (मेनूइटम आइटम) {स्विच (आईटेट। आईटीएमआईडी ()) {केस एंड्रॉइड। आर.डिडएचओएम: फॉरमैटमेंट मैनेजर ()। पॉपबैक स्टैक इम्यडिएट (); टूटना; मामले R.id.action_settings: टुकड़ा टुकड़ा = नया सेटिंग्सफ्रैगमेंट (); GetFragmentManager ()। BeginTransaction () .addToBackStack (रिक्त) .replace (R.id.root, fragment, "settings") .commit (); टूटना; } वापसी सुपर.ऑनॉप्शन आईटम चयनित (आइटम); }
यह अच्छी तरह से काम करता है, लेकिन कॉस्मेटिक समस्या है, जब " मेनफ्रैगमेंट.जावा प्रदर्शित किया जा रहा है -" बटन ऊपर "अभी भी प्रदर्शित किया जाता है - जैसा कि आप कर सकते हैं उपरोक्त स्क्रीनशॉट के बाईं तरफ देखें।
मैंने कॉल करने की कोशिश की है
getActionBar ()। SetHomeButtonEnabled (गलत);
जब वह टुकड़ा सक्रिय हो रहा है, लेकिन वह केवल "अप बटन" को अक्षम कर देता है - वास्तव में इसे छिपाने के बिना।
आप भाग्य में हैं क्योंकि एपीआई स्तर 18 में यह है:
getActionBar ()। SetHomeAsUpIndicator (R.drawable.ic_yourindicator);
सहायता पुस्तकालय के लिए, यह है:
getSupportActionBar ()। SetHomeAsUpIndicator (R.drawable.ic_yourindicator);
तो अब आप किस टुकड़े में हैं, आप "अप" बटन के आइकन को बदल सकते हैं।
इसके अलावा, यह प्रयास करें:
getActionBar ()। SetDisplayHomeAsUpEnabled (गलत);
सेट करें कि घर को "अप" बोनस के रूप में प्रदर्शित किया जाना चाहिए।
No comments:
Post a Comment