He desarrollado una aplicación de demostración sencilla con una pantalla de presentación, un mapa y algunas pantallas normales.
Tengo una barra de acción en la parte superior que contiene un logotipo. Todo se ve bien en mi teléfono (Galaxy s1 I9000 V2.3) pero cuando lo pruebo en Galaxy s2 v4, la barra de acción también aparece en la pantalla de inicio y en la pantalla del mapa.
La actividad de spalsh y map ni siquiera se heredan de ActionBarActivity, entonces, ¿cómo es posible y cómo puedo hacer que desaparezca?
Manifiesto:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:theme="@style/Theme.AppCompat.Light" >
<activity
android:name=".HomeActivity"
android:icon="@drawable/android_logo"
android:label=""
android:logo="@drawable/android_logo" >
<!--
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
-->
</activity>
<activity
android:name=".MapActivity"
android:label="" >
</activity>
<activity
android:name=".PackageActivity"
android:icon="@drawable/android_logo"
android:label=""
android:logo="@drawable/android_logo" >
</activity>
<activity
android:name=".SplashActivity"
android:label="" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Definición de MapActivity (es larga, así que incluí solo la definición):
public class MapActivity extends FragmentActivity implements LocationListener
Actividad de bienvenida:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
public class SplashActivity extends Activity{
private static final long SPLASH_DISPLAY_LENGTH = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Intent mainIntent = new Intent(SplashActivity.this,HomeActivity.class);
SplashActivity.this.startActivity(mainIntent);
SplashActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
}
getActionBar
porque la actividad no se hereda deActionBarActivity