Android:如何在某些活动中隐藏 ActionBar

新手上路,请多包涵

我开发了一个简单的演示应用程序,其中包含启动画面、地图和一些常规屏幕。

我在顶部有一个包含徽标的操作栏。在我的手机 (Galaxy s1 I9000 V2.3) 上看起来一切正常,但是当我在 Galaxy s2 v4 上测试它时,操作栏也出现在初始屏幕和地图屏幕中。

spalsh 和 map 活动甚至没有从 ActionBarActivity 继承,所以这怎么可能,我怎样才能让它消失?

显现:

 <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 定义(它很长,所以我只包含了定义):

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

    }

}

原文由 Tomer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 627
2 个回答

AndroidManifest.xml 中的活动主题中应用以下内容:

 <activity android:name=".Activity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

原文由 Si8 发布,翻译遵循 CC BY-SA 4.0 许可协议

当您询问如何 隐藏某个活动 中时,这就是您所需要的:

 getSupportActionBar().hide();

原文由 erluxman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题