作为android新手,我在刚开始coding时,一般要实现去掉标题栏,首先都是在
setContentView (R.layout.activity_main);
上面写
requestWindowFeature(Window.FEATURE_NO_TITLE);
但是coding久了之后,发现有时候这么写会导致崩溃,仔细研究了之后,总结一下几种去标题栏的情况和对应的方法:
情况一:当类继承Activity类时
我们就可以这样写来去标题栏
public class MainActivity extends Activity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
requestWindowFeature (Window.FEATURE_NO_TITLE);
setContentView (R.layout.activity_main);
}
}
情况二:当类继承AppCompatActivity类时
我们就可以这样写来去标题
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
getSupportActionBar ().hide ();
setContentView (R.layout.activity_main);
}
}
还有的类是继承ActionBarActivity类的,但是我们同过查看源码就可以发现ActionBarActivity类是继承了AppCompatActivity类的
public class ActionBarActivity extends AppCompatActivity
其实还有一种通用的方法
在AndroidManifest文件中修改主题
首先打开styles.xml文件,添加下面的代码:
<style name="AppTheme.FullScreen" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
</style>
然后再来修改AndroidManifest文件中的主题
将原先的
android:theme="@style/AppTheme" >
更改为
android:theme="@style/AppTheme.FullScreen" >