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

fengyeezju 2015-11-30

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

1、在代码中实现:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

2、在AndroidManifest.xml中实现:

<applicationandroid:icon="@drawable/icon"

android:label="@string/app_name"

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

或者先在style文件中定义

<?xmlversion="1.0"encoding="UTF-8"?>

<resources>

<stylename="notitle"><itemname="android:windowNoTitle">true</item></style>

</resources>

之后在中引用

<applicationandroid: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);之前添加

ActionBaractionBar=getSupportActionBar();

actionBar.hide();

这两行代码即可去掉标题栏。另外对APP进行在线全方位的安全性、兼容性测试,我都会用这个:http://www.ineice.com。

相关推荐