2010-07-23 20 views
9

में फ्लैशिंग से ऐप का नाम रोकें मैंने अपने ऐप के लिए कस्टम टाइटल बार बनाया है जो काम करता है। हालांकि, जब ऐप पहले लोड होता है, तो मेरा टेक्स्ट प्रकट होने से पहले एक पल के लिए ऐप नाम शीर्षक पट्टी में प्रदर्शित होता है। मै इसे होने से कैसे रोकू सकता हूँ? बसटाइटल बार

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/myTitle" 
    android:text="my text" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:textAppearance="?android:attr/textAppearance" 
    /> 

मेरे शीर्षक पट्टी पृष्ठभूमि फ्लैश नहीं है,:

मैं यहाँ अपने मुख्य गतिविधि में अपने कस्टम शीर्षक पट्टी सेट:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
    setContentView(R.layout.main); 
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle); 

mytitle.xml है जहां मैं अपने पाठ सेट ये पाठ।

धन्यवाद।

उत्तर

11

बेसिक स्पष्टीकरण: जब एक आवेदन शुरू करने, उपयोगकर्ता के लिए जितनी जल्दी संभव हो उत्तर देने के लिए, एंड्रॉयड पहले से पहले ही इसकी प्रक्रिया में तेजी लाने के लिए शुरू होता एप्लिकेशन का एक "पूर्वावलोकन" विंडो को दर्शाता है। यह ऐप के AndroidManifest.xml में उपलब्ध जानकारी ले कर ऐसा करता है और ऐसा लगता है कि इसके लिए एक खाली गतिविधि दिखाई देगी। इस प्रकार, आपको थीम को मैनिफेस्ट में उस चीज़ पर सेट करना चाहिए जो आपके वास्तविक यूआई जैसा दिखता है उतना करीब से मेल खाता हो।

कस्टम शीर्षक के मामले में, आप ऐसा नहीं कर सकते हैं, क्योंकि शीर्षक कैसा दिखता है इस पर निर्भर करता है कि आपका कोड वास्तव में क्या करता है और आपका कोई भी कोड अभी तक चल रहा है। सबसे अच्छा आप शायद कर सकते हैं android:theme="@android:style/Theme.NoTitleBar" का उपयोग करें ताकि पूर्वावलोकन विंडो बिल्कुल किसी भी शीर्षक पट्टी को दिखाने की कोशिश न करे ... निश्चित रूप से आपकी गतिविधि में आपको setTheme(android.R.style.Theme) पर कॉल करके डिफ़ॉल्ट थीम पर वापस जाने के लिए इसे साफ़ करना होगा ।

जहां AndroidManifest.xml में यह रखा जाना चाहिए पर बस थोड़ा विस्तार से बता दें:

<application 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar" > 
+0

ठीक है मैंने एंड्रॉइड डाला है: थीम = "@ एंड्रॉइड: स्टाइल/थीम। नॉट टिटलेबार" मेरी मुख्य गतिविधि के तहत मैनिफेस्ट में, लेकिन जब मैं अपनी गतिविधि में इस पंक्ति में जाता हूं तो यह क्रैश हो जाता है: requestWindowFeature (Window.FEATURE_CUSTOM_TITLE); – Dominic

+0

आपको किसी थीम से स्विच करने के लिए सेटथीम() को किसी अन्य शीर्षक से कॉल करने की आवश्यकता है, जिसमें शीर्षक बार है। उदाहरण के लिए setTheme (android.R.style.Theme)। – hackbod

+0

उसने ऐसा किया! धन्यवाद। – Dominic

0

ठीक है, आप मुख्य सामग्री सेट करने से पहले, केवल शीर्षक बार को सेट करने का प्रयास कर सकते हैं।

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle); 
    setContentView(R.layout.main); 
+0

मैंने कोशिश की लेकिन यह काम नहीं किया। – Dominic

1

एक अन्य समाधान टैग सेट किया जा सकता है: प्रकट में

android:label=""

सभी गतिविधियों में फ़ाइल।

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