Android开发中如何去掉app标题栏的实现

来自:网络
时间:2021-04-20
阅读:

方法

一、若创建Activity时继承的是 Activity:

第一种:常用的一种方法:

requestWindowFeature(Window.FEATURE_NO_TITLE);//这行代码必须写在setContentView()方法的前面
package com.wust.selfviewgroup;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE); //这个方法必须写在 setContentView 的前面,了解源码的同学应该知道其原因
        setContentView(R.layout.activity_main);
    }
}

第二种:在AndroidManifest.xml文件中作如下配置

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

Android开发中如何去掉app标题栏的实现

测试结果:在实际测试中,我发现继承 Activity 本身就没有标题栏,以上两种方法只是提供一种解决思路。

二、创建Activity时继承的是 AppCompatActivity:

第一种:

getSupportActionBar().hide();//这行代码必须写在setContentView()方法的后面
package com.wust.selfviewgroup;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
import android.view.Window;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        getSupportActionBar().hide(); //这个方法要写在 setContentView() 之后
    }
}

第二种:可以在AndroidManifest.xml文件中作如下配置

<application android:theme="@style/Theme.AppCompat.NoActionBar">

注意事项

前面提供的方法不能混用,要求的顺序不能错,要不然会导致方法失效,得不到想要的结果

返回顶部
顶部