Android全屏悬浮窗画布,Android系统全屏时悬浮窗或者悬浮球向上移动的问题

当系统全屏时,很多悬浮窗会向上移动一小段距离,原因窗口布局是从状态栏之后开始的,全屏时没有状态栏了,所以会向上移动,给窗口加上

WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN 可以解决这个问题,这个 flag 经常和

WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR 一起使用。

mParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;

/** Window flag: place the window within the entire screen, ignoring * decorations around the border (such as the status bar). The * window must correctly position its contents to take the screen * decoration into account. This flag is normally set for you * by Window as described in {@link Window#setFlags}. */

public static final int FLAG_LAYOUT_IN_SCREEN = 0x00000100;

/** Window flag: a special option only for use in combination with * {@link #FLAG_LAYOUT_IN_SCREEN}. When requesting layout in the * screen your window may appear on top of or behind screen decorations * such as the status bar. By also including this flag, the window * manager will report the inset rectangle needed to ensure your * content is not covered by screen decorations. This flag is normally * set for you by Window as described in {@link Window#setFlags}.*/

public static final int FLAG_LAYOUT_INSET_DECOR = 0x00010000;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值