- 用activity做悬浮窗模式,并且漏出的地方可透传触摸给下层可见控件。
首先设置activity的Theme属性如下:
<style name="DialogStyle" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimAmount">0</item>
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
- 在activity的setContentView()之前,设置窗口的flags,允许外部可点击:
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;