1、问题描述
用Android Studio新建一个Empty Activity,layout中的activity_main.xml文件没有添加标题栏,但程序运行时却有标题栏,通过 requestWindowFeature(Window.FEATURE_NO_TITLE) 也无法去除,代码如下:
MainActivity.java
//修改前MainActivity,不管怎样设置,都去除不了标题栏
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreat(Bundle savedInstanceState){
//设置没有标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);//无效,仍然有标题栏
super.onCreate(savedInstanceState);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
<TextView //只有一个TextView ,并没有创建标题栏
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
2、分析及解决
该问题是由于MainActivity类继承AppCompatActivity导致的。基类AppCompatActivity主界面带有toolbar的标题栏,因此MainActivity中也会有标题栏。要想界面中没有标题栏,只需更改MainActivity继承的类,让它继承Activity,Activity没有标题栏。更改基类后的代码如下:
MainActivity.java
public class MainActivity extends Activity{ //继承Activity,问题解决
@Override
protected void onCreat(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
}