android WindowManager addView 仿悬浮式通知栏

android因各大厂商自己定制Rom导致悬浮式通知栏在很多手机上显示不出来等各种问题,没办法,最后采取了使用WindowManager的方式来做。
效果


android WindowManager addView 仿悬浮式通知栏_第1张图片
QQ图片20171123150323.png

具体代码就帖了,网上很多介绍WindowManager使用的例子。这里仅记录一些有用的小知识点。

1.WindowManager布局拓展至状态栏,需要添加属性

layoutParams.flags=FLAG_TRANSLUCENT_STATUS;

想要将状态栏的布局高度空出来,windowManager add的view的布局文件添加

 android:clipChildren="false"
    android:clipToPadding="false"
    android:fitsSystemWindows="true"

2.设置悬浮窗下面的View可点击,

layoutParams.flags=WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL

官网解释

Window flag: even when this window is focusable (its
         * {@link #FLAG_NOT_FOCUSABLE} is not set), allow any pointer events
         * outside of the window to be sent to the windows behind it.  Otherwise
         * it will consume all pointer events itself, regardless of whether they
         * are inside of the window.

你可能感兴趣的:(android WindowManager addView 仿悬浮式通知栏)