2012-09-18 12 views
10

मेरे एंड्रॉइड ऐप में एक्शन बार का उपयोग करके टैब नेविगेशन है। यह अच्छी तरह से काम करता है, लेकिन यह मुझे परेशान करता है कि ऐप के पहले बूट के दौरान, वास्तविक, टैब-नेविगेशन एक्शन बार द्वारा प्रतिस्थापित होने से पहले एक छोटी डिफ़ॉल्ट एक्शन बार संक्षिप्त रूप से दिखाई देती है। मेरे onCreate इस तरह शुरू होता है:एंड्रॉइड- स्टार्टअप के दौरान एक्शनबार छुपाएं और फिर इसे फिर से दिखाएं?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 
    setContentView(R.layout.activity_main); 

    //Set up the actionbar 
    final ActionBar actionBar = getActionBar(); 
. 
. 
. 

क्या मुझे लगता है कि असली ActionBar एक छोटे से डिफ़ॉल्ट एक संक्षिप्त दिखाने के बिना प्रारंभ हो जाएगा इससे पहले कि यह स्टार्टअप पर करता है ऐसा करने के लिए है?

धन्यवाद

+1

यह कुछ आप के लिए देख रहे हैं: [कार्रवाई बार छिपाने के लिए कैसे गतिविधि बनाने से पहले, और फिर इसे फिर से दिखाएं?] (http://stackoverflow.com/questions/8500283/how-to-hide-action-bar-before-activity-is-created-and-then-show-it -again) –

उत्तर

5

छिपाएं स्टार्टअप

getSupportActionBar().hide(); 

दौरान आप के साथ ...

getSupportActionBar().show(); 

यह Android के देशी ActionBar के साथ ही होना चाहिए फिर यह दिखा सकते हैं के बाद।

आप प्रकट में इस लाइन का उपयोग करना चाहिए और getActionBar()

<item name="android:windowActionBar">false</item> 

का उपयोग नहीं करते और एक बार यह नीचे मुख्य गतिविधि उपयोग या कुछ भी नहीं

<item name="android:windowActionBar">true</item> 
+0

मैं आपके द्वारा निर्दिष्ट XML को कैसे जोड़ूं ताकि ऐप <आइटम नाम = "एंड्रॉइड: विंडोएक्शनबार"> झूठी लेकिन फिर <आइटम नाम = "एंड्रॉइड: विंडोएक्शनबार"> सही मुख्य गतिविधि शुरू होने के बाद स्विच हो जाता है? गतिविधि टैब – LoneDuck

+0

मैंने एप्लिकेशन को स्वयं को कोई एक्शनबार के साथ थीम निर्दिष्ट करने का प्रयास किया है, लेकिन एक थीम के साथ गतिविधि को असाइन करें (एंड्रॉइड: विंडोएक्शनबार का उपयोग करके)। यह अभी भी एक डिफ़ॉल्ट एक्शनबार के साथ बूट करता है, और उसके बाद ही खुद को असली नेविगेशन एक्शनबार के रूप में प्रारंभ करता है। – MBMJ

+1

के अंदर – LoneDuck

1

में समाप्त हो आप उपयोग कर रहे हैं एक्शन बार शेरलॉक और आप इसे फ्रैगमेंट एक्टिविटी से टॉगल करना चाहते हैं, फिर आप

getSherlockActivity().getSupportActionBar().hide(); 
4

पर कॉल करें अपनी गतिविधि प्रकट परिभाषा के लिए इस डाल:

<activity 
      android:name=".MyActivity" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
      > 
फिर अपने OnCreate ऐसा करने के अंदर वास्तविक विषय आप उपयोग करना चाहते हैं दिखाने के लिए

:

setTheme(R.style.AppTheme);