0

基本上我想做与此相反的事情:在我自己的之上运行另一个活动(我没有编写),并使该活动透明。所以它就像运行另一个应用程序(无论它可能是什么),但具有自定义背景。

4

2 回答 2

1

您不能影响其他活动的背景。

因此,除非您未编写的其他活动已经是透明的,或者为其他人提供某种类型的 API 以请求将其透明(可能但不太可能)。你真的没有办法做到这一点。

于 2012-06-15T18:34:34.363 回答
1

对不起我的英语不好,但我尽我所能。

我需要反过来。我有一个活动,然后我调用了另一个应用程序。但有时我会为用户提供一些信息。所以我将在另一个应用程序上混合一个透明的活动。

我仍然。我做了一个透明背景的活动。当我调用此活动时,它将被打开。但不在其他App面前。我的主 Activity 将被打开,透明的 Activity 将在此之前启动。

但我喜欢在另一个 App 前面看到我的透明 Activity。这可能吗?

我的代码:

 public class MsgDialog extends Activity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.msg_dialog);

    }
}

这是迄今为止没有功能的活动,但这并不重要。

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" android:background="@color/transparent ">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

布局只有 2 个按钮,但透明背景。

<activity android:name=".MsgDialog" android:theme="@style/Theme.Transparent"></activity>

此活动的清单行:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">true</item>
  </style>
</resources>

我自己的主题资源

所以它有效但只在我自己的应用程序前面而不是在外国应用程序前面。有什么想法可以解决我的问题吗?

谢谢 Oner

于 2012-06-18T07:38:06.903 回答