2012-07-11 16 views
7

में गतिविधि शुरू होने पर शीर्षक पट्टी में एप्लिकेशन लॉन्चर आइकन छुपाएं मैंने SO की खोज की है लेकिन मुझे समान प्रश्न नहीं मिला क्योंकि मुझे यकीन नहीं है कि इसे वाक्य में कैसे चरणबद्ध किया जाए। मैं गतिविधि के शीर्ष कोने में पाठ के साथ लॉन्चर आइकन (यानी 72x72 आइकन) के बजाय लोगो के साथ एक्शनबारशरॉक का उपयोग कर रहा हूं।एंड्रॉइड

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

<application 
    android:hardwareAccelerated="true" 
    android:icon="@drawable/launcher_icon" 
    android:label="@string/app_name" 
    android:screenOrientation="portrait" > 

    <activity 
     android:name=".SplashScreenActivity" 
     android:label="@string/app_name" 
     android:logo="@drawable/ab_logo" 
     android:theme="@android:style/Theme.Light.NoTitleBar" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity 
     android:name=".HomeActivity" 
     android:label="@string/homeitle" 
     android:logo="@drawable/ab_logo" 
     android:theme="@style/MyTheme" > 
    </activity> 

</application> 

मैं पाठ "गायब" यह स्टाइल के रंग जैसा ही होने के लिए द्वारा कर सकते हैं, लेकिन मैं नहीं कर सकते दूर करने के लिए/गतिविधि से लांचर आइकन को छिपाने का रास्ता मिल।

मैंने एक स्प्लैशस्क्रीन गतिविधि स्थापित की है (जैसा उपर्युक्त में है), जो कि मेरी होम गतिविधि को लोड करता है जहां समस्या होती है। इससे मदद मिलती है, लेकिन कभी-कभी समस्या को लोड करते समय भी समस्या होती है।

public class SplashScreenActivity extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public void onResume() 
    { 
     super.onResume(); 
     Intent i = new Intent(getBaseContext(), HomeActivity.class); 
     startActivity(i); 
     finish(); 
    } 
} 

किसी को भी, एक तरह से लॉन्चर आइकन & शीर्षक लेबल को छिपाने के लिए पता है इतना है कि यह प्रदर्शित किया जा रहा ActionBarSherlock करने से पहले दिखाई नहीं देता? आदर्श रूप से एक स्प्लैश स्क्रीन की आवश्यकता नहीं है, क्योंकि गतिविधि को एक्सेस करने के कई तरीके हैं जो ऊपर दिखाए गए स्प्लैशस्क्रीन से बचेंगे।

--- अद्यतन मेरे विषय फ़ाइल ----

<style name="MyTheme" parent="Theme.Sherlock.ForceOverflow"> 
    <item name="android:windowBackground">@color/white</item> 
    <item name="android:actionBarStyle">@style/MyTheme.ActionBar</item> 
    <item name="android:actionMenuTextColor">@color/white</item> 
    <item name="actionBarStyle">@style/MyTheme.ActionBar</item> 
    <item name="actionMenuTextColor">@color/white</item> 
</style> 

<style name="MyTheme.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">@color/blue</item> 
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
    <item name="android:displayOptions">showHome|useLogo</item> 
    <item name="displayOptions">showHome|useLogo</item> 
    <item name="background">@color/blue</item> 
    <item name="titleTextStyle"> @style/MyTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">@color/blue</item> 
</style> 

उत्तर

10

शैली है, जो लोगो के रूप में एक ही है करने के लिए आइकन जोड़कर फिक्स्ड। यह लॉन्चर आइकन ओवरराइड करता है।

<style name="MyTheme.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@color/infostop_blue</item> 
     <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
     <item name="android:displayOptions">showHome|useLogo</item> 
     <item name="displayOptions">showHome|useLogo</item> 
     <item name="android:icon">@drawable/ab_logo</item> 
     <item name="icon">@drawable/ab_logo</item> 
     <item name="background">@color/blue</item> 
     <item name="titleTextStyle"> @style/MyTheme.ActionBar.TitleTextStyle</item> 
    </style> 
+0

आपके प्रश्न को ढूंढना वास्तव में मुश्किल था, और मुझे खुशी है कि मैंने ऐसा किया क्योंकि आपका उत्तर काम करता है। :) –