创建一个显示在当前活动上的启动器活动

时间:2016-03-08 12:55:12

标签: android android-activity android-launcher

我的启动器的Activity是一个透明背景的浮动窗口,我想让它在用户点击主页按钮后显示在所有其他Activities前面。

但Android总是隐藏另一个Activities,浮动窗口只在壁纸前面:(

当主屏幕启动时,有没有办法让当前Activity保持在后台?

2 个答案:

答案 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>

我希望这会有所帮助。