我使用此代码从一个活动滑动到另一个活动。
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_out_left);
当背景为纯色时,效果很好。但是,我的背景不是纯色。以下是我的背景。
因此,当此背景从右向左滑动时,您会注意到转换。我希望唯一值得注意的是移动按钮,TextViews等。我该如何做到这一点?
修改
基于Matt的评论(另一个Matt,不是我),我创建了一个Splash Activity并将其背景设置为云背景。然后我从所有其他活动中删除了云背景。当SplashScreen过渡到MainMenu类时,会显示以下内容:
所以基本上我看到所有应用程序所在的模拟器的主屏幕。以下是我的新AndroidManifest.xml
。
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".SplashScreen"
android:screenOrientation="portrait" >
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".MainMenu"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:label="@string/app_name"
android:name=".Levels"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
我将此添加到styles.xml
。
<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>
编辑#2
我正在慢慢取得进展。现在SplashScreen启动,然后完美过渡到MainActivity。转换到其他屏幕(例如,当我单击“播放”按钮时)尚未完全正确。它们在没有背景变化的情况下进行转换,但之前的透明活动仍然存在,并且所有透明活动开始堆叠在彼此之上。有没有办法解雇&#34;新的意图/活动开始时的透明活动,以便它们不会重叠并叠加在一起?
答案 0 :(得分:1)
我的第一个想法是使用该图像(可能是一个活动)保留背景中的某些内容,然后使用主题@ style / Theme.Transparent
设置要在其上滑动的活动