2012-08-31 10 views
5

नीचे मैं कार्रवाई बार (Theme.Holo) नोटिस केवल एंड्रॉयड 3.0 या heigher में अच्छा लग रहा है, तो है, लेकिन यह उदाहरण के लिए Android 2.3 पर अच्छा पसंद नहीं है ।कैसे कार्रवाई बार (Theme.Holo) को छिपाने के लिए करने के लिए Android संस्करण 3.0

वहाँ दूर Android संस्करण के आधार पर कार्रवाई पट्टी (Theme.Holo) को दिखाने के लिए है?

+1

आप दो लेआउट का उपयोग नहीं किया जा सका और पूर्व 3.0 के लिए एक और पोस्ट 3.0 के लिए एक सेट? – AxGryndr

+0

मुझे पसंद है अगर मैं इसे प्रोग्रामैटिक रूप से करता हूं, उदाहरण के लिए, मैं एंड्रॉइड संस्करण की जांच करता हूं, यदि 3.0 से नीचे है, तो बार हटाएं। – user836026

+1

एंड्रॉइड 2.3 पर कोई एक्शन बार नहीं है, जब तक कि आप तृतीय-पक्ष कोड जोड़ने के लिए विशिष्ट चरण नहीं लेते हैं जो एक लागू करता है (उदा।, एक्शनबार शेरलॉक)। – CommonsWare

उत्तर

4

क्योंकि ActionBar जब तक Android 3.0 (एपीआई स्तर 11) शामिल नहीं किया गया है कि ताकि किसी भी संस्करण उस से कम एंड्रॉइड की एक शीर्षक पट्टी होगी, न कि एक्शन बार।

एक्शनबार अभी तक आधिकारिक संगतता लाइब्रेरी का हिस्सा नहीं है, इसलिए औसत समय में, ActionBarSherlock लाइब्रेरी आपको एक्शनबार की अनुमति देगी जो सभी एपीआई संस्करणों में समान दिखती है।

आप को छिपाने के लिए ActionBar पूरी तरह से सिर्फ जोड़ने एंड्रॉयड जोड़ने चाहते हैं: प्रकट में गतिविधियों के लिए शैली/Theme.Holo.NoActionBar।

+0

धन्यवाद ... मैं एंड्रॉइड: शैली/थीम कैसे जोड़ूं। Holo.NoActionBar व्यावहारिक रूप से एंड्रॉइड संस्करण के आधार पर। – user836026

+0

मैं तुम्हें प्रोग्राम के उस गुण जोड़ सकते हैं नहीं लगता है, लेकिन ActionBarSherlock आप के लिए अलग अलग Android संस्करण संभाल हैं, सभी API संस्करण तुम सिर्फ के लिए पूरी तरह से ActionBar को छिपाने के लिए सक्षम होने के लिए कोशिश कर रहे हैं पर अपने ऐप्लिकेशन का एक ही अच्छा ActionBar दे रही है एंड्रॉइड 3.0 से कम कुछ भी? और एंड्रॉइड 3.0+ के लिए इसे दिखाएं? – starkej2

+0

हां, लेकिन सटीक होने के लिए, मैं 3.0 से कम एंड्रॉइड पर "टाइटल बार" को छिपाना चाहता हूं और 3+ – user836026

5

कार्रवाई बार एपीआई 11 न्यूनतम आवश्यकता है। यदि आप इसे प्रोग्रामिक रूप से हटाना चाहते हैं, हालांकि आप उस गतिविधि के लिए कोड में hide() का उपयोग कर सकते हैं।

ActionBar actionBar = getActionBar(); 
actionBar.hide(); 

वास्तव में यह सुनिश्चित नहीं है कि यह 3.0 से नीचे के लिए क्या दिखाएगा, लेकिन ऐसा लगता है कि यह शुरू करने के लिए सबसे अच्छी जगह है।

संपादित करें:

आप रन टाइम पर SDK संस्करण की जाँच कर सकते बिल्ड साथ स्थिरांक

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //checks if its lower than Honeycomb 
    ActionBar actionBar = getActionBar(); 
    actionBar.hide(); 
} 
+0

धन्यवाद ... लेकिन मैं एंड्रॉइड संस्करण की जांच कैसे करूं? – user836026

+1

उत्तर संपादित किया गया। – Tonithy

+4

मुझे लगता है कि यह (<) प्रतीक से कम ("> =") प्रतीक से अधिक या बराबर होना चाहिए .. और धन्यवाद, इससे मुझे मदद मिली :) – Zombie

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