欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决用android Studio开发不能去除标题栏的问题

程序员文章站 2022-05-31 09:48:39
...

原文 http://www.2cto.com/kf/201701/589964.html

之前在eclipse上进行开发的时候,要去除Activity的的默认标题栏,我习惯使用的方法是用下面这行代码:

requestWindowFeature(Window.FEATURE_NO_TITLE);

但是,最近打算学习android Studio,于是打算用studio来弄一个项目作为练手,结果在写splash界面的时候就差点弄出了个大乌龙,在这里记一下,免得以后再犯:

在去除Activiry标题栏的时候,使用了上述代码,但是运行时,结果如下:
解决用android Studio开发不能去除标题栏的问题
在这里发现,虽然设置了去除标题栏,但实质上并没有起到什么效果。初时以为是模拟机的问题,然后用了真机测试,问题不变。断定问题出在代码上。可是代码一直这么写过来,应该不会有错的呀。于是从头检查代码。发现了问题所在:
解决用android Studio开发不能去除标题栏的问题
如果有注意的话,这里的Activity类继承的是AppCompatActivity,这个是属于support v7附加包的类。而eclipse使用的则是v4包,继承的是Activity类。两者之间有什么不一样的地方,可以百度一下,这里不多说。下面是解决办法:
1.修改父类Acticity,将AppComPatActiviry替换为Activiry,问题解决

2.修改AndroidManiFest.xml文件,将< activity>中的Theme属性替换如下:

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

问题同样可以解决

3.更换requestWindowFeature(Window.FEATURE_NO_TITLE);代码为:

//v7包下去除标题栏代码:
getSupportActionBar().hide();   
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

以上三种办法,都可以好处理好android Studio下不能去除标题栏的问题。但注意的是尽管第一种与我们的习惯很接近(作为eclipse使用者而言),但这种方法却是一种将v7舍弃的方法,作为技术越来越新的学科,这种办法是不提倡的。因此,建议使用第二种或者第三种办法,同时也多了解一下v4包和v7包的同与不同,帮助实现更得心应手的开发。

相关标签: android