我需要在我的蜂窝应用程序中实现启动画面。 我在activity的onCreate中使用这段代码来显示splash:

setContentView(R.layout.splash);
getActionBar().hide();

这段代码将显示主UI:

setContentView(R.layout.main);
getActionBar().show();

但在onCreate被调用和飞溅出现之前,有一小段时间,当动作栏显示。

我怎样才能使动作栏不可见?

我尝试将主题应用于没有动作条的活动:

<item name="android:windowActionBar">false</item>

但在这种情况下,getActionBar()总是返回null,我发现没有办法再次显示它。


当前回答

你可以用这个:

getSupportActionBar () hide ();如果不奏效,试试下面这个:

getActionBar().hide();

如果以上都不行,试试下面的方法:

在你的目录= res/values/style.xml,打开style.xml ->有属性父更改为父="Theme.AppCompat.Light.DarkActionBar"

如果这一切都不奏效。我也不知道了。但对我来说很管用。

其他回答

对我来说,最好的结果是用ThemeNoTitleBar创建一个活动,没有内容作为启动器。然后这个活动直接调用给对方。

当然,如果你愿意,你可以向Splash Activity添加内容,但在我的情况下,我只想直接显示应用程序。

清单:

<activity
        android:name="com.package.SplashActivity"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

活动:

public class SplashActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    //start StartActivity
    Intent intent = new Intent(this, StartActivity.class);
    startActivity(intent);
    finish();
}

}

Android studio提供了全面屏的构建模板,如果你使用Android studio,你可以按照下面的步骤来实现全面屏的活动。

完成了。Android工作室做了你的工作,现在你可以检查代码全屏。

如果你有null,因为你正在使用支持库,而不是getActionBar(),你需要调用getSupportActionBar()。

实际上,你可以简单地用NoActionBar设置splash Activity 并设置您的主要活动与操作栏。

试试这个,对我来说很管用:

下面去掉了活动的标题栏

 requestWindowFeature(Window.FEATURE_NO_TITLE);

下面消除了通知栏,使活动全屏显示

 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

(完整示例如下) 注意:这些方法是在我们设置活动的内容视图之前调用的

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Sets Application to full screen by removing action bar
        requestWindowFeature(Window.FEATURE_NO_TITLE);    
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main); 

        // without this check, we would create a new fragment at each orientation change!
        if (null == savedInstanceState)
            createFragment();
    }