Ich habe eine einfache Demo-Anwendung mit einem Begrüßungsbildschirm, einer Karte und einigen regulären Bildschirmen entwickelt.
Ich habe oben eine Aktionsleiste, die ein Logo enthält. Auf meinem Handy (Galaxy s1 I9000 V2.3) sieht alles gut aus, aber wenn ich es auf Galaxy s2 v4 teste, wird die Aktionsleiste auch im Begrüßungsbildschirm und auf dem Kartenbildschirm angezeigt.
Die Spalsh- und Map-Aktivität erbt nicht einmal von ActionBarActivity. Wie ist das möglich und wie kann ich dafür sorgen, dass es verschwindet?
Manifest:
<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>
MapActivity-Definition (es ist eine lange, also habe ich nur die Definition eingefügt):
public class MapActivity extends FragmentActivity implements LocationListener
Splash-Aktivität:
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
da die Aktivität nicht vonActionBarActivity