动态设置全屏、取消全屏的方法,以及切换全屏保持内容位置不变的方法
首页 > Android   作者:  2016年12月23日 17:38 星期五  热度:27°  字号:   评论:0 条
时间:2016-12-23 17:38   热度:27°  评论:0 条 

有两种形式设置、取消全屏的方法,之所以称作两种形式而不是两种方法,是因为这两种方式只是写法不同,实质是一样的。


形式一:

//设置全屏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

//取消全屏

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);


形式二:

//设置全屏

WindowManager.LayoutParams attr = getWindow().getAttributes();
attr.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(attr);

//取消全屏

WindowManager.LayoutParams attr = getWindow().getAttributes();
attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(attr);



全屏状态改为非全屏保持内容位置不变:
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);


这里有一个问题:

当设置了该flag之后取消全屏,部分内容被状态栏挡住(忽略状态栏高度,以屏幕右上角为原点计算布局)

加上代码getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);可以解决该问题,但再次设置全屏的时候状态栏不消失。

 您阅读这篇文章共花了: 
二维码加载中...
本文作者:      文章标题: 动态设置全屏、取消全屏的方法,以及切换全屏保持内容位置不变的方法
本文地址:http://www.zhangmaoqin.cn/post-32.html
版权声明:若无注明,本文皆为“Remember”原创,转载请保留文章出处。
  • blogger

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗

评论信息框


既然没有吐槽,那就赶紧抢沙发吧!
返回顶部    首页    手气不错    QQ邮箱:1085911874@qq.com后花园   
版权所有:Remember    站长:                 sitemap