Android:如何在特定活动中隐藏ActionBar
Android:如何在特定活动中隐藏ActionBar
我开发了一个简单的演示应用程序,包括一个启动屏幕、一个地图和一些常规屏幕。
我在顶部有一个包含标志的操作栏。在我的手机上(Galaxy s1 I9000 V2.3)看起来都很正常,但是当我在Galaxy s2 v4上测试时,操作栏也出现在启动屏幕和地图屏幕中。
启动屏幕和地图活动甚至都没有继承ActionBarActivity,那么这是如何可能的,我该如何去掉它?
清单:
地图活动定义(其中包含了很多内容,所以我只包含了定义部分):
public class MapActivity extends FragmentActivity implements LocationListener
启动屏幕活动:
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); } }
在AndroidManifest.xml
中为Activity应用以下主题:
<activity android:name=".Activity" android:label="/app_name" android:theme=":style/Theme.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
由于活动不继承自ActionBarActivity
,因此无法使用getActionBar
。
如果使用<item name="android:windowActionBar">false</item>
,那么所有屏幕上的ActionBar都将被隐藏。
更新我的答案,以更适合您的需求。