2012-07-11 6 views
7

私はSOを検索しましたが、文章でそれをどのように段階化するのか分かりません。アクティビティの上部にテキストがあるランチャーアイコン(72x72アイコン)の代わりにロゴを使用して、ActionBarSherlockを使用しています。アクティビティがアンドロイドで開始されたときにタイトルバーのアプリケーションランチャーアイコンを非表示にする

アクティビティが最初に読み込まれる時間は、数分の1秒です。アクションバーにロゴが表示される前に、マニフェストに定義されているランチャーアイコンとラベルが表示されます(下記参照)。このホームアクティビティは非常に単純なので、遅延を引き起こす可能性のある追加のローディングは行われません。

<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

あなたの質問を見つけることは本当に難しく、回答はうまくいきました。 :) –

関連する問題