您的位置:首页 > 移动开发 > Android开发

android应用程序,使用不同方法,在activity之中隐藏Title,或者实现FullScreen(隐藏通知栏)显示。

2013-05-12 15:10 806 查看
在activity之中隐藏Title,或者实现FullScreen(隐藏通知栏)显示,可以使用不同的方法

大体上可以分为三类,分情形在不同的情况下使用,可以方便的设置和管理你的应用程序。

1.在onCreate()方法之后,setContentView(R.layout.XXX)方法之前添加:

//移除Title
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

//移除通知栏。
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

注意:这种方式会在加载应用程序时出现极短的延迟,还是会先出现标题或者通知栏。影响程序UI。再次,必须在setContentView之前添加,否则可能会出现FC或者其他位置错误。

2.修改AndroidManifest.xml清单文件

<activity android:name=".YourActivityName"
android:label="@string/YourAppName"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

注意:该方式通过修改单个activity的主题样式,与一方法效果类似,但也有不同,不同之处是这种方式在onCreate方法之前就定制Activity样式为无通知栏,所以不会出现延迟显示通知栏的情况,再次,这种方法在游戏应用开发是比较有效,也更加安全。推荐使用

3.如果前两种方式仍然不符合你的要求。可以以xml文件格式自定义。

在res/value文件夹下新建style.xml文件(如果不存在的话),参考如下代码

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Default" parent="@android:style/Theme"></style>
<style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style>
<style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style>
</resources>

在android3.0+的系统中在res/values-v11目录下执行同样的操作,参考如下代码

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Default" parent="@android:style/Theme"></style>
<style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style>
<style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style>
</resources>

或者在coding 4.0+应用程序,在目录res/values-v14 下在执行相同操作 ,参考如下代码

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Default" parent="@android:style/Theme.Holo.Light"></style>
<style name="Theme.NoTitle" parent="@android:style/Theme.Holo.Light.NoActionBar"></style>
<style name="Theme.FullScreen" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"></style>
</resources>

最后在AndroidManifiest.xml中引用你要使用的主题。添加如下代码:

android:theme="@style/Theme.NoTitle"

注意,该方式虽然麻烦,但是在后续开发中会非常给力,程序会根据设备android版本定制样式。推荐使用,实现原理于第二种相同,只不过高度定制。

最后,是要在application当中使用,还是在Activity之中使用,完全取决于你在AndroidManifiest.xml资源清单中Tag标签的使用,前者会改变程序中所有,activity,后者只改变单独设置的activity.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐