【问题标题】:How to open transparent activity from UnityPlayerActivity?如何从 UnityPlayerActivity 打开透明活动?
【发布时间】:2013-03-20 00:07:24
【问题描述】:

我正在为 Unity3D 编写 Android 插件。我需要从 UnityPlayerActivity 打开我的自定义活动,使其透明并且游戏在后台可见。但是当我打开我的活动时,UnityPlayerActivity 变成黑色,所以我的背景是黑色的而不是透明的。我需要有关如何在 Unity3D 中使用此透明度功能的帮助。

<activity android:name="com.example.activities.MyActivity" 
    android:configChanges="keyboardHidden|orientation" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

【问题讨论】:

  • 我有同样的问题,我的理论是底层的统一活动调用 onPause,这会导致它停止自己的更新,因此它呈现一个空页面..也许其他人也可以确认?不过,我仍然没有解决方案。

标签: android android-activity transparency unity3d


【解决方案1】:

Unity Engine 有意添加了Windowdim 量,所以我们需要在activity onCreate之后使其透明。

例如,

protected void onCreate(Bundle savedInstanceState) {
    Window window = getWindow();
    window.setDimAmount(0); //Making the window dim transparent
    window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}

【讨论】:

    【解决方案2】:

    一种使 Activity 透明的便捷方法是指定

    <activity
      ...
      android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    

    AndroidManifest.xml 中,结合活动布局的根ViewGroup 的透明背景色。

    如果您已经尝试过此方法(或类似的活动透明度方法),请在您的问题中发布您尝试过的内容的描述,包括您的确切代码和相关的 XML 位。它将帮助每个人提供更具体的答案。

    【讨论】:

    • 已经尝试过 android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"。我确信我的 Activity 是透明的,因为当我从通常的 Android Activity 调用它时它是透明的,但是当我从 UnityPlayer Activity 调用它时,背景会变黑。所以问题出在Unity3d上。
    • 同样的问题,你找到解决办法了吗?
    猜你喜欢
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多