如何定义Android 1.5及更高版本的两个活动之间的转换?我希望活动能够淡出.
我正在编写我的徽标活动和我的主要活动之间的过渡效果,但我有一个问题,即在消失之前,活动转移到顶部:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<alpha
android:duration="2000"
android:fromAlpha="0.0"
android:toAlpha="1.0" >
</alpha>
</set>
Run Code Online (Sandbox Code Playgroud)
我怎么能改进这个代码才能获得消失效果呢?
我在堆栈中有两个活动,为了显示它们我使用FLAG_ACTIVITY_REORDER_TO_FRONT.到目前为止,当我想使用overridePendingTransition为动画带来动画时,问题就出现了.
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
ActivityA.this.startActivity(i);
overridePendingTransition(R.anim.transition_to_right, R.anim.transition_to_left);
Run Code Online (Sandbox Code Playgroud)
但是,如果没有将标志添加到意图(删除第2行),则不会显示转换,则没有问题.
是否可以通过动画将活动带到前面?
非常感谢!
我目前正在开发Android应用程序,我的启动活动存在一些问题.我希望我的主要活动从我的飞溅活动淡入,而不是从黑屏.我的启动和主要活动都使用相同的背景图像,所以如果我做一个fade_in/fade_out组合,它看起来很奇怪,因为在转换过程中背景类型会稍微消失.
这里的想法是我必须使用我的徽标版本:正常和发光.我希望我的主要活动淡入,所以我的发光徽标覆盖了我的正常徽标,导致整洁的小"开启"效果.以下代码从黑屏中消失,这是不理想的.
/**
* Pause Activity
*/
@Override
protected void onPause()
{
super.onPause();
finish();
overridePendingTransition(android.R.anim.fade_in, 0);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
创建我自己的fade_out动画以保持1.0 alpha级别(从1.0到1.0)并添加android:fillAfter="true"到我的初始动画集修复了问题.