J'ai développé une application de démonstration simple avec un écran de démarrage, une carte et quelques écrans réguliers.
J'ai une barre d'action en haut qui contient un logo. Tout va bien sur mon téléphone (Galaxy s1 I9000 V2.3) mais lorsque je le teste sur Galaxy s2 v4, la barre d'action apparaît également sur l'écran de démarrage et sur l'écran de la carte.
L'activité spalsh et map n'hérite même pas d'ActionBarActivity, alors comment est-ce possible et comment puis-je la faire disparaître?
Manifeste:
<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>
Définition de MapActivity (c'est une longue, donc je n'ai inclus que la définition):
public class MapActivity extends FragmentActivity implements LocationListener
Activité Splash:
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
car l'activité n'hérite pas deActionBarActivity