2012-07-11 19 views
7

He buscado SO, pero no he encontrado preguntas similares ya que no estoy seguro de cómo eliminarlas en una oración. Estoy usando ActionBarSherlock, con un logotipo en lugar del ícono del iniciador (es decir, el ícono de 72x72) con texto en la esquina superior de la actividad.Ocultar el icono del iniciador de aplicaciones en la barra de título cuando se inicia la actividad en android

Cuando la actividad se carga por primera vez, durante una fracción de segundo. Veo el icono y la etiqueta del iniciador definidos en el manifiesto (como se muestra a continuación), antes de que la barra de acciones aparezca con el logotipo. Esta actividad hogareña es muy simple, por lo que no realiza ninguna carga adicional que pueda causar un retraso.

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

que puede hacer que el texto "desaparecer" por peinar a ser el mismo color que el fondo, pero no puedo encontrar una manera de eliminar/ocultar el icono del lanzador de la actividad.

He configurado una actividad de pantalla emergente (como en el manifiesto anterior), que solo carga la actividad de mi casa donde ocurre el problema. Esto ayuda, pero a veces el problema aún ocurre al cargar la actividad.

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

¿Alguien sabe de una manera de ocultar la etiqueta del título lanzador icono &, por lo que no se presenta antes de la ActionBarSherlock se muestra? Lo ideal es que no se necesite una pantalla de bienvenida, ya que hay varias formas de acceder a la actividad que evitarían la pantalla de bienvenida que se muestra arriba.

--- Actualizar mi archivo de tema ----

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

Respuesta

10

arreglaron mediante la adición de icono para el estilo, que es el mismo que el logotipo. Esto anula el icono del iniciador.

<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

Fue realmente difícil encontrar su pregunta, y me alegro de haberlo hecho porque su respuesta funciona. :) –

Cuestiones relacionadas