2013-03-15 4 views
6

वर्तमान में छिपा हुआ है, मैं द्वारा स्थिति पट्टी छुपाने के लिए,, निम्न कार्य:एंड्रॉयड दिखाएँ गतिविधि शीर्षक/स्थिति शीर्ष पर पट्टी के बाद यह <code>onCreate</code> विधि में मेरी <code>FragmentActivity</code> में

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

इस कोई समस्या नहीं काम करता है।

लेकिन पूर्ण स्क्रीन में, उपयोगकर्ता एक बटन क्लिक करता है, मैं एक और टुकड़े में स्वैप करना चाहता हूं (याद रखें कि हम FragmentActivity में हैं), मेरा मतलब है कि वर्तमान स्क्रीन में प्रदर्शित होने वाले वर्तमान खंड को प्रतिस्थापित करना है।

लेकिन मुझे टाइटलबार/स्थिति दिखाना है।

क्या यह संभव है? यदि हां, तो मैं इसे कैसे प्रोग्राम के रूप में कर सकते हैं

उत्तर

0

ऐसा करने के तरीकों में से जोड़ी हैं:

प्रथम कार्य:

FEATURE_CUSTOM_TITLE

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.foo_layout); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar); 
or 

youractivity.setTitle(); 

नोट! आप एक सरल TextView पक्ष में अपने लेआउट शामिल कर सकते हैं custom_title_bar

आप custom_title_bar लेआउट बनाने इस प्रकार है:

<LinearLayout   
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 
     <TextView 
     android:id="@+id/titleTextView" 
     style="@android:style/WindowTitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" 
     /> 
    </LinearLayout> 

द्वितीय कार्य:

Activity.setTitle

this.setTitle("My Title!"); 
22

यहाँ आप कर सकते हैं अपने शीर्षक पट्टी गतिशील बदलें निम्नलिखित दो तरीकों का उपयोग कर ly। मैंने उन्हें अपने Activity से बुलाया। तो Fragment से कॉल करने के लिए आपको Activity उदाहरण की आवश्यकता है।

public void hideTitle() { 
     try { 
      ((View) findViewById(android.R.id.title).getParent()) 
        .setVisibility(View.GONE); 
     } catch (Exception e) { 
     } 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     getWindow().clearFlags(
       WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
    } 

    public void showTitle() { 
     try { 
      ((View) findViewById(android.R.id.title).getParent()) 
        .setVisibility(View.VISIBLE); 
     } catch (Exception e) { 
     } 
     getWindow().addFlags(
       WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
     getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    } 
+1

यह पूरी तरह से काम करता है, स्वीकार्य उत्तर होना चाहिए। –

+0

@ मार्कबुइकेमा आपको तब ऊपर उठाना चाहिए था: पी – stinepike

+1

भयानक साथी !!!! अपने भयानक जवाब के लिए चीयर्स !!! यह स्वीकार्य उत्तर होना चाहिए !! – Rudi

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