如何在活动中的运行时主题设置中避免标题栏?

时间:2015-10-25 23:15:29

标签: android android-support-library android-appcompat appcompat-v7-r23

我想将我的应用程序移植到android支持库v7版本23.1。

为此目的,我已按照多个指南中的指示从Theme.AppCompat.NoActionBar扩展了我的主题。

<style name="MyTheme" parent=" Theme.AppCompat.NoActionBar ">

我在activity onCreate()方法中使用运行时的动态主题设置。

public class MyActivity extends AppCompatActivity
{
    @Override
    public void onCreate(Bundle icicle) {
        Log.d(TAG, "onCreate() started.");
        super.onCreate(icicle);
        setTheme(R.style.MyTheme);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar_default);
        setSupportActionBar(toolbar);
    }
}

问题是总是有旧的android TitleBar可见。我的意思是标题栏,而不是行动吧。 只有在运行时设置主题时才会出现此问题。 如果我在清单中设置它没有标题栏。 我想这是支持库中的一些错误,但问题是,如何修复它?

1 个答案:

答案 0 :(得分:1)

正如Dalmas在他的评论中所建议的那样,必须调用WINDowowFeature()。但是我必须在onCreate()方法中调用BEFORE super.onCreate()。

@Override
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
}