【发布时间】:2014-01-09 12:42:07
【问题描述】:
我正在使用此代码从一个活动滑到另一个活动。
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_out_left);
当背景是纯色时,这很有效。但是,我的背景不是纯色。下面是我的背景。
因此,当此背景从右向左滑动时,您会注意到过渡。我希望唯一需要注意的是 Buttons、TextViews 等正在移动。我怎样才能做到这一点?
编辑
基于 Matt 的 cmets(另一个 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。到其他屏幕的转换,例如当我单击播放按钮时,还不是很正确。它们在不改变背景的情况下进行转换,但之前的透明活动保留在那里,并且所有透明活动开始相互堆叠。有没有办法在启动新意图/活动时“关闭”透明活动,以免它们重叠和堆叠?
【问题讨论】:
标签: java android animation slide