android 全局隐藏标题,糊里糊涂学Android(2)——Activity隐藏标题及全屏

在大部分情况下,我们开发或使用的App都不需要Activity中原本的标题,都有自己独特或个性的标题栏,甚至有些App是全屏的。下面就来探究一下都有哪几种方法可以实现隐藏标题或全屏。

1.修改Application Manifest.xml

Application Manifest.xml是每一个Android项目必不可少的基础性文件,它可以定义应用程序及其组件和需求的结构和元数据。总之,应用程序的基础性需求及结构是它来定义的。在Android开发API指南中有详细解释,该文件该详细了解一下http://developer.android.com/intl/zh-cn/guide/topics/manifest/manifest-intro.html。

说了Manifest文件的重要性,下面回到正题。在该文件中最重要的一个节点application节点,代表整个应用程序,修改该节点中的Theme属性,就可以实现,代码如下:

android:theme="@android:style/Theme.NoTitleBar//隐藏标题栏

android:theme="@android:style/Theme.NoTitleBar.Fullscreen//隐藏标题栏并全屏

这样修改的话,整个应用程序中每个Activity的标题都没有或者全屏了,但如果仅仅只是想要单个的Activity窗口隐藏标题或全屏,那该怎么实现呢?其实很简单,不修改application中的Theme属性,而是修改对应activity节点中的Theme属性,代码都是一样的,仅仅位置改变而已。

2.在Java类中添加代码

在每个Activity创建的方法中,必须调用setContentView方法来加载layout布局文件,从而显示Activity的界面布局。因此,该方法就是在加载布局文件之前先将标题隐藏或全屏。其中,隐藏标题栏使用的方法是requestWindowFeature,该方法是设置窗体的扩展属性,主要是标题栏属性,可以自定义标题栏,当然也可以隐藏标题栏,隐藏需要这样设置:

requestWindowFeature (Window. FEATURE_NO_TITLE );//隐藏标题栏

另一个设置全屏使用getWindow().setFlags,来看代码:

getWindow().setFlags (WindowManager. LayoutParams.FLAG_FULLSCREEN ,

WindowManager .LayoutParams. FLAG_FULLSCREEN);

这样就完成了,不过还是提醒下:这两个函数必须在setContentView之前添加,否则布局加载完成之后再添加,程序就会崩溃。

3.添加无标题或者全屏主题

在res/values/styles.xml中添加无标题或者全屏或两种兼有的主题样式,即style节点。如下:

true 

true 

true 

true 

然后在Manifest文件的application节点或者activity节点修改Theme属性,如下

android:theme ="@style/notitle_fullscreen"//修改对应的style name就是对应的主题

总结

通过这三种方式都可以实现标题栏隐藏或者全屏,第一种比较简单,也是比较好的实现方法;第二种方法相对来说不是很好的实现方式;自我感觉第三种方式更好一些,虽然更麻烦一点,但更有利于代码的维护和扩展。一般情况下,推荐使用第一种方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值