如何在另一个应用程序的顶部显示单个按钮

时间:2013-05-31 16:08:58

标签: android

我想在另一个应用程序的顶部显示一个按钮。以Skype为例。

我尝试制作一个具有RelativeLayout的活动,在里面我放了一个Button。但是,当Button处于可触摸状态时,我无法使RelativeLayout无法触摸。 所以我想通过在Skype打开时只显示按钮来实现这一目的。所以我可以同时使用Skype和按钮。

我尝试过的东西是:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

但这使整个Window无法触及(包括Button内的RelativeLayout

我在想是否有类似的方法:

(RelativeLayout的)findViewById(R.id.relativeLayout1).makeNotTouchable() (按钮)findViewById(R.id.button1).makeTouchable();

请注意,上述方法并不存在,我只是想让您更清楚地了解我想要实现的目标。

另请注意,制作半透明活动可防止用户将触摸事件传递到其后面的活动。它可以显示它背后的活动,但我们无法通过它传递触摸事件。

1 个答案:

答案 0 :(得分:0)

您可以通过在WindowManager LayoutParams上设置FLAG_NOT_TOUCH_MODAL来完成此操作。您还应该将活动的主题设置为@android:style / Theme.Translucent.NoTitleBar以使窗口半透明。

我忘了提到你必须改变窗口的大小。您可以使用以下示例来完成此操作:

    getWindow().setGravity(Gravity.CENTER);
    getWindow().setLayout(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);