为活动统一设置无标题&&全屏

因为我们在做一些活动界面的时候,一般使用无标题的时候都会使用到全屏来显示一些活动内容,因此我们来利用创建style来实现:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="theme_full_screen" parent="android:Theme.Black">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">?android:windowNoTitle</item> <!-- 全屏的值引用了没有标题的值 -->
</style>
</resources>

这里我们是在values目录下单独创建了一个xml文件来实现该style。

当然啦,在R.java文件中对它引用的生旧是在内部类style里根据style的name属性生成的。因此我们很容易就可以想到,既然如此,这个style同样是可以脱离单独的xml文件而去放到styles.xml的<resource></resource>节点下的。


用法

对于style的使用的地方还是比较多的,我们在这里就先在AndroidManifest.xml注册活动的地方为它添加style吧:

<activity android:name="xxx" android:theme="@style/theme_full_screen"></activity>  

其实也就是为activity双标签的 android:theme属性添加了对应的style引用值;


另一种方法就是为大家所熟知的利用代码在程序中动态的设定:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);//设定无标题
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏

上边的this其实可以不用写的,个人习惯使然!)



Add:

一般而言,这个setFlags的两个参数都设置为一样即可,下面再提供两个窗体特效。当然啦,把它写成style也是可以的,具体你懂得~~~

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON//设置窗体始终点亮

WindowManager.LayoutParams.FLAG_BLUR_BEHIND//使窗体变模糊




-------------------------------------------------------------------更新线-------------------------------------------------------------------


不知道大家有没有发现,在Lolipod版本之后,我们不论是动态还是静态都无法再设置手机全屏,经本人实验好多次以及查阅资料,发现是去掉标题的方法不再在5.0及以后的版本中支持,当时我觉得天都要塌下来了......我的天,肿么办,这TM也太难看了吧~~~不过突然想起一句话“上帝为你关闭一扇门,必定会为你开启一扇窗”,于是乎就发现了可以有其他方法来实现!!!

静态配置文件如下:

<style name="theme_full_screen" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowFullscreen">true</item>
</style>

Theme.AppCompat.NoActionBar 主题表示去掉标题栏(当我们想直接在活动注册的地方加上去除标题风格的时候,就需要用Theme.AppCompat.Light.NoActionBar ,别问我为什么多了一个Light,我也不知道......)

里边的item则表示去掉状态栏(这一点依然没有变过,可以推理去掉状态栏的动态设置方法依旧好使)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值