三种去除Android标题栏的方法

闲来无聊在csdn博客频道看到一篇关于去除标题栏的博文。于是根据思路自己也写了一篇大致一样的东西出来。
我们知道在设置Android全屏的时候通常会有三种方法,虽然各不相同,但都可以完成相应地效果。下面详细介绍一下具体方式:

一、通过Java代码设置

这种方式是初级开发使用最多的情况,就是在onCreate方法设置

requestWindowFeature(Window.FEATURE_NO_TITLE);

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
    }
}

这里需要注意的时一定要再setContentView(R.layout.activity_main);方法之后才能正常使用,不然会出现诚挚直接crash掉

报错信息如下:

Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content

ps:使用此种方法设置,可能会出现打开界面时会先出现标题栏,然后再消失。这时因为旨在activity的onCreate方法中定义了去除代码。


二、在AndroidManifest.xml配置文件中设置

<application
	android:allowBackup="true"
	android:icon="@drawable/ic_launcher"
	android:label="@string/app_name"
	android:theme="@android:style/Theme.NoTitleBar" >
</application>

这样设置的情况可能会导致整个应用都是没有标题栏。但是在实际开发中,我们往往会遇到只需要几个界面去除即可,例如我们最常见的启动页面,引导页等。这时,我们就可以只需要在要去除标题栏的activity中去除即可。

<activity
	android:name=".MainActivity"
	android:label="@string/app_name"
	android:theme="@android:style/Theme.NoTitleBar" >    
</activity>

三、在res/values目录下地styles.xml文件中自定义一个主题,这里取名为NoTitle,代码如下:

<style name="NoTitle" parent="AppTheme">
	<item name="android:windowNoTitle">true</item>
</style>

然后再通过第二中方法设置相应地界面即可。这种方式可以对主题进行定制,可以做主题设置等功能。扩展性非常不错。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值