7

SOを検索しましたが、文の中で段階的に進める方法がわからないため、同様の質問は見つかりませんでした。アクティビティの上隅にテキストが表示されたランチャーアイコン(72x72アイコン)の代わりにロゴが付いたActionBarSherlockを使用しています。

アクティビティが初めて読み込まれるとき、ほんの一瞬です。アクションバーにロゴが表示される前に、マニフェストで定義されたランチャーアイコンとラベルが表示されます(以下を参照)。このホームアクティビティは非常に単純であるため、遅延を引き起こす可能性のある追加のロードを実行しません。

<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>
4

1 に答える 1

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>
于 2012-07-11T11:21:05.230 に答える