Android:如何在特定活动中隐藏ActionBar

8 浏览
0 Comments

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);
    }
}

0
0 Comments

在Android中,有时候我们希望在某些活动中隐藏ActionBar。下面是如何隐藏ActionBar的方法:

1. 打开manifest.xml文件。

2. 找到你想要隐藏ActionBar的活动标签,然后添加以下代码:

<activity

android:name=".MainActivity"

android:theme="/Theme.AppCompat.NoActionBar"

>

0
0 Comments

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都将被隐藏。

更新我的答案,以更适合您的需求。

0
0 Comments

问题的原因:用户想要在特定的活动中隐藏ActionBar。

解决方法:使用以下代码隐藏ActionBar:

getSupportActionBar().hide();

0