如何在不删除以前的活动的情况下在另一个活动上显示透明活动?
我能够创建透明活动但是当我尝试使用intent推送它时,先前的活动将被删除。我希望我的透明活动位于之前活动的顶部。
谢谢!
答案 0 :(得分:28)
在清单中声明您的活动
<activity android:name=".yourActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
并为您的布局添加transperent背景 像这样
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background = "any tranparent image name" >
</RelativeLayout>
修改强>
我认为您正在使用它打开透明活动,完成之前的活动
Intent intent =new Intent(mContext,yourNewActivity.class);
startActivity(intent);
finish();
从此处删除完成,然后在之前的活动中删除您的新活动,例如
Intent intent =new Intent(mContext,yourNewActivity.class);
startActivity(intent);
希望帮助..
答案 1 :(得分:17)
对于AppCompat
样式,您可以在styles.xml
中使用以下代码,并在manifest
中添加该代码。
<强> styles.xml 强>
<style name="Theme.Transparent" parent="Theme.AppCompat.Light.NoActionBar">
<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:backgroundDimEnabled">true</item>
<item name="colorPrimaryDark">@android:color/transparent</item>
</style>
<强>清单强>
<activity android:name=".HomeActivity"
android:theme="@style/Theme.Transparent"</activity>
答案 2 :(得分:2)
我不知道你为什么要这样,但也许Custom dialog可以做你想要的。
编辑:此问题之前已得到解答:How do I create a transparent Activity on Android?
我不想变得粗鲁,但我认为你应该从你的角度做更多的研究。另外,你可以发布一些代码来看看你究竟尝试了什么,它也表明你正在尝试一些东西。