zoukankan      html  css  js  c++  java
  • requestFeature() must be called before adding content

    错误:requestFeature() must be called before adding content

    原因:

    Android去掉标题栏点菜单键程序崩溃

    在安卓以前的版本中,我们会使用以下两种方式来去掉顶部自带的标题栏:

    1、在代码中实现:
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    2、在AndroidManifest.xml中实现:
    <application android:icon="@drawable/icon"   
            android:label="@string/app_name"   
            android:theme="@android:style/Theme.NoTitleBar"> 
    或者先在style文件中定义
    <?xml version="1.0" encoding="UTF-8" ?>  
    <resources>  
        <style name="notitle">  <item name="android:windowNoTitle">true</item>  </style>   
    </resources>
    之后在中引用
    <application android:icon="@drawable/icon"   
            android:label="@string/app_name"   
            android:theme="@style/notitle">
    但是新版android推荐使用的是继承ActionBarActivity的Activity,这时再使用上述两种方法去掉标题栏,当应用点击菜单键的时候则会出现空指针异常的错误,或者APP会出现闪退。
    这是因为Activity继承了ActionBarActivity,它来自android.support.v7.app.ActionBarActivity。
    所以就要使用与其配合的AppCompat的theme才行
    解决的办法之一就是让Activity去继承Activity而不是ActionBarActivity。
    如果非要继承ActionBarActivity的话,这时可以用下面的方法来去掉标题栏:
    在Activity的onCreate方法中,在setContentView(R.layout.activity_main);之前添加
    ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
    这两行代码即可去掉标题栏。
     
     
     你隐藏标题栏最好在核心配置文件改或者是在style中改
    使用xml的方法,在该项目的AndroidManifest.xml文件中,在需要全屏的Activity元素中添加属性 

    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

    这样就可以实现这个Activity的全屏显示,如果只是不要标题栏,即需要保留系统自带的任务栏的话,则使用

    android:theme="@android:style/Theme.NoTitleBar"
     
     
  • 相关阅读:
    10个最佳jQuery Lightbox效果插件收集
    JavaScript 中的内存泄露模式
    推荐6 款免费的图标编辑器
    Google 排名中的 10 个最著名的 JavaScript 库
    影响搜索引擎排名的因素2009年(总览)
    2009 年度最佳 jQuery 插件
    使用 Nginx 提升网站访问速度
    10个新的最有前途的JavaScript框架
    IE8面向Web开发人员的功能改进
    IE6, IE7, IE8 CSS 兼容速查表
  • 原文地址:https://www.cnblogs.com/H-BolinBlog/p/5504674.html
Copyright © 2011-2022 走看看