如何使活动透明化

时间:2011-04-06 05:48:31

标签: android

我有3个activitie.i想要让所有人都透明。 我在values文件夹中创建了一个styles.xml并附加了以下代码

<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">false</item>
  </style>

</resources>

在我的android清单中,我附上了以下代码

所有三项活动

现在我的活动变得透明,但是当我从第一个活动转到第二个活动到第二个活动时,我看到后台的第一个活动

我该怎么做才能看到第二个活动,第一个活动在背景中看不到

我也可以将活动半透明吗?

3 个答案:

答案 0 :(得分:1)

你的问题不是透明的。 当您使用startActivity(intent)启动第二个或第三个活动时,您需要将FLAG添加到intent。 - Intent.FLAG_ACTIVITY_CLEAR_TOP

答案 1 :(得分:0)

这包含您问题的答案:

这是一个完整的文件:

 <?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">@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">false</item>
      </style>
    </resources>

(值@ color / transparent是颜色值#00000000)
    然后将样式应用于您的活动,例如:

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

答案 2 :(得分:0)

我建议这样做。

onPause(){
  finish();

}

执行此操作以完成并释放您之前的活动。或者你可以这样做。

Intent.FLAG_ACTIVITY_CLEAR_TOP

希望有所帮助。