我的启动器的Activity
是一个透明背景的浮动窗口,我想让它在用户点击主页按钮后显示在所有其他Activities
前面。
但Android总是隐藏另一个Activities
,浮动窗口只在壁纸前面:(
当主屏幕启动时,有没有办法让当前Activity
保持在后台?
答案 0 :(得分:0)
不确定您是否想要这样,但您可以使用SYSTEM_ALERT_WINDOW显示所有其他活动的布局:
wm = (WindowManager) getSystemService(WINDOW_SERVICE);
metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
wlp = new WindowManager.LayoutParams(
400,
400,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
|WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR,
PixelFormat.TRANSLUCENT);
wlp.windowAnimations = 0;
wm.addView([your layout], wlp);
您需要在清单中授予权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
答案 1 :(得分:0)
根据我的理解,你需要透明的活动。 如果是,则可以执行以下操作。
在$.extend()
styles,xml
并且让你想要在清单中透明的活动主题。
<style name="Theme.Transparent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/trans</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="colorPrimaryDark">@color/status_bar</item>
<item name="colorAccent">#000000</item>
<item name="colorPrimary">@color/toobar</item>
</style>
我希望这会有所帮助。