Android start ActionBarActivity首先显示空页

Android start ActionBarActivity首先显示空页,android,android-intent,android-manifest,android-support-library,Android,Android Intent,Android Manifest,Android Support Library,我正在使用支持库4和7。我开始一项有目的的活动。这是一个,android.support.v7.app.actionbaractivity 我遇到的问题是当我开始并展示一个新的活动时。在我的活动显示之前,我得到一个带有android徽标的空白活动,如下所示。很难拍到这些照片,但我认为这足够清楚地说明这个问题 public class HelpActivity extends SuperActionBarActivity { @Override protected void o

我正在使用支持库4和7。我开始一项有目的的活动。这是一个,android.support.v7.app.actionbaractivity

我遇到的问题是当我开始并展示一个新的活动时。在我的活动显示之前,我得到一个带有android徽标的空白活动,如下所示。很难拍到这些照片,但我认为这足够清楚地说明这个问题

public class HelpActivity extends SuperActionBarActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_help);

        setActionBar();
    }

    // todo: create actionbar util class
    private void setActionBar() {
        getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        getSupportActionBar().setCustomView(R.layout.abs_layout);
        TextView login = (TextView) findViewById(R.id.abs_layout_login);
        login.setVisibility(View.INVISIBLE);

        FontUtils.applyFontAwesomeToControl(this, findViewById(R.id.abs_layout_back));
    }

    public void onClick(View v) {

        if (v == null) return;

        switch (v.getId()) {
        case R.id.abs_layout_back:
            onBackPressed();
            break;
        }

    }
}
如何摆脱这种行为?

问题如下所示

1) 我的新活动开始加载

2) 我的新活动快满了

3) 我的新活动已加载。android图标现在不见了

我以这种方式开始一项活动:

Intent intent = new Intent(this, SomeActivity.class);
startActivity(intent);
这就是我的配置在清单中的样子

    <activity
        android:name="com.blah.bli.activities.SomeActivity"
        android:alwaysRetainTaskState="true"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:icon="@drawable/tidsam_logo"
        android:label="@string/empty_title"
        android:launchMode="singleInstance"
        android:theme="@style/Theme.AppCompat.Light" />
这是一个有问题的简单活动

public class HelpActivity extends SuperActionBarActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_help);

        setActionBar();
    }

    // todo: create actionbar util class
    private void setActionBar() {
        getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        getSupportActionBar().setCustomView(R.layout.abs_layout);
        TextView login = (TextView) findViewById(R.id.abs_layout_login);
        login.setVisibility(View.INVISIBLE);

        FontUtils.applyFontAwesomeToControl(this, findViewById(R.id.abs_layout_back));
    }

    public void onClick(View v) {

        if (v == null) return;

        switch (v.getId()) {
        case R.id.abs_layout_back:
            onBackPressed();
            break;
        }

    }
}

这是因为Android使用您在清单中设置的主题来创建“虚拟”活动,直到您的应用程序加载为止

在清单中设置自定义主题将以与应用程序其余部分相同的样式加载虚拟活动,并使其不那么引人注目


这里有一个如何执行此操作的教程:

show com.blah.bli.activities.SomeActivity代码根据请求,我添加了一个活动示例。