$Android去除系统默认的标题栏和全屏的三种方法
在做应用的时候,很多时候是不需要系统自带的标题栏的,而是自己去实现标题栏,这就要去掉系统的标题栏,下面总结了三种方法。全屏也是一样的道理,也总结了实现的三种方法。
(一)去除标题栏
1、方法1
在Activity的onCreate方法中:
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
//注意这句一定要写在setContentView()方法的前面,不然会报错的
但是这种方法的缺陷是,因为在onCreate方法中才去掉标题栏,所以在这之前会发现标题栏还是会一闪而过,去的不彻底,那么用下面两种方法就能够避免这个问题。
2、方法2
在AndroidManifest.xml文件中定义:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
这样就会把整个应用的每个界面都去掉标题栏,如果只是想把某些活动去掉标题栏,那么把android:theme="@android:style/Theme.NoTitleBar"属性放在Activity标签即可。
3、方法3(推荐,便于维护和扩展)
(1)先在styles.xml中定义名为NoTitle的style:
<style name="AppBaseTheme" parent="android:Theme.Light"> </style>
<style name="NoTitle" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
</style>
(2)在AndroidManifest.xml文件中定义:
<activity
android:name="XXX"
android:label="@string/app_name"
android:theme="@style/NoTitle">
(二)全屏
和去除标题栏的三种方法类似,全屏也有三种方法.
1、方法1
在Activity的onCreate方法中:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
2、方法2
在AndroidManifest.xml文件中定义:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
3、方法3(推荐)
(1)styles.xml文件:
<!-- 全屏style -->
<style name="FullScreen" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
(2)AndroidManifest.xml:
<activity
android:name="XXX"
android:theme="@style/FullScreen">
随机推荐
- 如何解决局域网中Windows防火墙不能访问Oracle问题!
在防火墙例外中,添加端口1521端口就样局域网内的其他机器就可以访问你的ORACLE了. 在防火墙的入站规则中,新建端口规则.过程如下例图片所示:
- openwrt固件编译过程
主Makefile分析 注:1)make -n可打印makefile执行的命令,而不执行. 2)可以在规则的命令中增加echo跟踪执行进度. 顶层目录的Makefile是openert的总Makefi ...
- PHPWord使用方法
官方文档 github地址 一.安装 直接使用composer安装,链接地址 composer require phpoffice/phpword 二.简单使用 require_once 'PhpO ...
- Web前端都学点儿啥?
Web开发如今是如日中天,热的发烫.但是Web开发相关的技术和知识却像N座大山一样,耸立在我们面前,连绵起伏,漫无边际.那么这些山头那些我们应该占领,那些我们应该绕开,很多人看着就蒙了,这不光是初学者 ...
- 抒发一下这些天用django做web项目的一些体会
最近接触了一段时间的python,觉得python写脚本还是挺方便的,做一个简单的桌面应用也很nice,但是随着深入,对python做功能复杂的web项目我彻底死心了,每个环节都是一堆的坑,部署阶段 ...
- Unity3D学习笔记——GUI高级组件
Unity3D中的高级控件都是由GUI类引出的,高级控件是由系统实现的,所以效率很高,但也可以自己实现,优点是任意修改灵活性高. 一:Label控件:用于展示一段文字的控件.可以输入字符串,也可以是贴 ...
- awk特征相同行的合并
[root@linux-node1 ~]# cat test.txt hisk01 hisk02 hisk03 hisk04 hisk05 hisk06 hisk07 hisk08 [root@lin ...
- [Unity热更新]tolua# & LuaFramework(一):基础
一.tolua# c#调用lua:LuaState[变量名/函数名] 1.LuaState a.执行lua代码段 DoString(string) DoFile(.lua文件名) Require(.l ...
- mac中一一些常用的命令
本文转载至 http://blog.csdn.net/chen505358119/article/details/9244701 这里主要讲的是mac中的一些命令,怕忘记了所以记在这里. 1.首先 ...
- influxDB---数据库操作SQL
查询 查询不能只查tag标签,一定要加上fields. 如:select val,"班组" FROM "测试表" WHERE dev = 'cs123' and ...