13

मुझे अपनी गतिविधियों में से एक को MyNoStatusBarActivity.java नामक एक पूर्ण-स्क्रीन गतिविधि करने की आवश्यकता है।एंड्रॉइड: थीम = "@ एंड्रॉइड: स्टाइल/थीम.NoTitleBar.Fullscreen" एप्लिकेशन स्तर पर काम करता है लेकिन गतिविधि स्तर पर नहीं। कोई सुराग?

मैं प्रकट में जोड़ लिया है:

<activity 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
    android:name=".MyNoStatusBarActivity" 
    android:noHistory="true" 
    android:label="@string/app_name" 
    android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation"> 
    ... 
</activity> 

और मेरी गतिविधि के onCreate में:

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    getWindow().setFlags(
     WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 

यह सब करने से सिर्फ शीर्षक बार और नहीं स्थिति पट्टी छुपाता है।

अगर मैं अपनी गतिविधि के बजाय एप्लिकेशन स्तर पर मैनिफेस्ट थीम का उपयोग करता हूं, तो यह मेरे ऐप की सभी गतिविधियों के लिए काम करता है जो मैं नहीं चाहता हूं। मैं केवल एक विशेष गतिविधि के लिए कोई स्टेटस बार नहीं चाहता हूं।

सहायता वास्तव में सराहना की जाएगी। Thnx!

पीएस: मुझे ठीक है कि यह व्यवहार अब हनीकॉम/आईसीएस में उपलब्ध नहीं है। मैं यह सिर्फ 2.2 के लिए और 2,3

संपादित

सभी सुझावों में इतना लेकिन कोई सफलता अभी तक अन्य समाधान में उल्लेख किया है की कोशिश की जरूरत है। थीम स्तर पर लागू होने पर थीम कार्य करता है लेकिन गतिविधि स्तर पर नहीं।

मैं एचटीसी जंगल की आग-एस, ver 2.3.5

उत्तर

6

एंड्रॉयड मुझे लगता है कि तुम सिर्फ android:theme="@android:style/Theme.NoTitleBar.Fullscreen mainfest से बाहर ले जाने की जरूरत है उपयोग कर रहा हूँ, कोड के साथ चिपके रहते हैं केवल कहते हैं, यह मुझे हमेशा के लिए काम किया है। आप किस परीक्षण उपकरण का उपयोग कर रहे हैं?

इसके अलावा इन कॉल आ इससे पहले कि आप android:theme घोषणाओं, यानी प्रकट और व्यक्तिगत लेआउट एक्सएमएल फ़ाइलें के लिए की तरह इस

super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.xxx); 

चेक setContentView(R.layout.xxx) करने के लिए कॉल अपने कोड के सभी सुनिश्चित करें। जैसा कि ऐसा लगता है कि इसे ऐप स्तर पर घोषित करना काम कर रहा है (क्योंकि यह किसी भी आगामी थीम घोषणाओं को ओवरराइड कर रहा है) लेकिन आपके गतिविधि स्तर के अनुरोध को ओवरराइड करने में कुछ है।

के लिए अपनी पूरी परियोजना खोज का प्रयास करें "एंड्रॉयड: विषय" और कुछ भी है कि आप 100% नहीं कर रहे हैं को दूर सुनिश्चित करें कि आप की जरूरत है, इसे उस तरह से

+0

इस Android 2.x के लिए और इसके बाद के संस्करण –

+0

does not काम से काम करना चाहिए । केवल शीर्षक बंद हो जाता है लेकिन स्टेटस बार बनी हुई है। मैं एचटीसी वाइल्डफायर-एस का उपयोग कर रहा हूं, एंड्रॉइड वर्क 2.3.5 –

+0

वास्तव में ऐसा लगता है कि गतिविधि के शीर्ष भाग स्टेटस बार से नीचे जा रहे हैं। स्टेटस बार में कुछ प्रकार का उच्च जेड-इंडेक्स लगता है और मेरी पूर्णस्क्रीन गतिविधि का एक हिस्सा छुपाता है! –

29

का परीक्षण अपने प्रकट एक्सएमएल में, आवेदन स्तर पर इस डाल:

<activity 

    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
    ... 
</activity> 

onCreate में सभी setWindowsFeature या setFlag तरीकों निकालें:

<application 
    ... 
    android:theme="@android:style/Theme.NoTitleBar" > 
</application> 

और गतिविधि है कि आप पूर्ण स्क्रीन बनाना चाहते में इस डाल दिया।

+0

क्षमा करें, लेकिन यह एंड्रॉइड 2.3 के लिए काम करता है – Dante

+1

मुझे विश्वास है। मैं एंड्रॉइड 2.2 पर इसका परीक्षण करता था – Neoh

3

मैं अपने गतिविधि में रखते:

requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.activity_splash); 

और मेरे प्रकट मैं को संशोधित नहीं है, यह मेरा है, संशोधनों के बिना:

android:theme="@style/AppTheme" 

मेरी activty एक्सएमएल में:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
0

यह चाल करेगा:

protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    getWindow().setFlags(
     WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.activity_main); 
} 
0

यह आपकी समस्या

सिर्फ अपने प्रकट @Android में बदल ठीक कर देंगे: @ शैली के लिए शैली .../..

<application 
    ... 
    android:theme="@style/Theme.AppCompat.NoActionBar"> 
    ... 
</application> 
संबंधित मुद्दे