Tôi đã phát triển một ứng dụng demo đơn giản với một bản đồ màn hình và một số màn hình thông thường.
Tôi có một thanh tác vụ ở trên cùng có chứa biểu trưng. Tất cả đều ổn trên điện thoại của tôi (Galaxy s1 I9000 V2.3) nhưng khi tôi kiểm tra nó trên Galaxy s2 v4, thanh tác vụ cũng xuất hiện trong màn hình giật gân và trong màn hình bản đồ.
Hoạt động spalsh và bản đồ thậm chí không được kế thừa từ ActionBarActivity, vậy làm cách nào để điều đó có thể xảy ra và làm cách nào để biến nó đi?
Rõ ràng:
<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>
Định nghĩa MapActivity (nó dài nên tôi chỉ đưa vào định nghĩa):
public class MapActivity extends FragmentActivity implements LocationListener
Hoạt động 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
như hoạt động không được kế thừa từActionBarActivity