2012-07-11 11 views
7

Szukałem SO, ale nie znalazłem podobnych pytań, ponieważ nie jestem pewien, jak wprowadzić frazę do zdania. Używam ActionBarSherlock, z logo zamiast ikony programu uruchamiającego (tj. Ikona 72x72) z tekstem w górnym rogu działania.Ukryj ikonę programu uruchamiającego na pasku tytułu, gdy aktywność zaczyna się w Androidzie

Gdy czynność jest ładowana po raz pierwszy, przez ułamek sekundy. Widzę ikonę programu uruchamiającego i etykietę zdefiniowaną w manifeście (jak poniżej), zanim pasek akcji pojawi się z logo. Ta domowa aktywność jest bardzo prosta, więc nie robi żadnego dodatkowego obciążenia, które może spowodować opóźnienie.

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

mogę sprawić, że tekst „zniknąć” przez stylizacji to być taki sam kolor jak tło, ale nie mogę znaleźć sposób, aby usunąć/ukryć ikonę wyrzutni z działalności.

Mam skonfigurowany ekran powitalny (jak w manifeście powyżej), który po prostu ładuje moją aktywność domową, w której występuje problem. Pomaga to, ale czasami problem nadal występuje podczas ładowania aktywności.

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(); 
    } 
} 

Czy ktoś zna sposób, aby ukryć się tytułowy etykietę wyrzutnia ikona &, tak, że nie pojawi się przed ActionBarSherlock są wyświetlane? Najlepiej, aby ekran powitalny nie był potrzebny, ponieważ istnieje kilka sposobów uzyskania dostępu do działania, które pozwoliłyby uniknąć pokazanego powyżej ekranu startowego.

--- zaktualizować plik motywu ----

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

Odpowiedz

10

Poprawiono dodając ikonę stylu, która jest taka sama jak logo. Przesłoni to ikonę programu uruchamiającego.

<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

Naprawdę trudno było znaleźć pytanie i cieszę się, że tak, ponieważ twoja odpowiedź działa. :) –

Powiązane problemy