【问题标题】:Transition doesn't work过渡不起作用
【发布时间】:2012-08-09 17:31:45
【问题描述】:

Fadein.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />

淡出.xml

<?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" />

当按钮被按下时,主活动类开始新的活动:

Intent myIntent = new Intent(this, OtherActivity.class); this.startActivity(myIntent);

在 OtherActivity 类中:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    overridePendingTransition(R.anim.fadein, R.anim.fadeout);
    setContentView(R.layout.view);    
}

它不起作用 - 活动不会滑动,它只是立即打开。怎么了?

【问题讨论】:

    标签: java android transition


    【解决方案1】:

    如果 Activity 立即打开,则可能有两种可能性... 1) 动画在您运行/测试应用的设备或模拟器上的设置中被禁用,或者 2) 动画的时间是小/少也意味着 500 毫秒,所以这可能就是为什么褪色效果看起来就像开场效果一样 但我认为第一点是你的主要问题。

    是的,这也是亚历克斯在回答中提到的重点

    overridePendingTransition() 方法应该在 startActivity() 之后从与 startActivity() 方法最接近的同一活动中调用,而不是从目标活动中调用。

    【讨论】:

    • 在我的智能手机上试用过,现在将在模拟器上试用,将会看到。
    • 在智能手机上签入设置以启用动画,以便在智能手机上也能进行​​转换,就像设置-->显示-->动画一样。因此,请考虑使用过渡的这种情况,如果一个人禁用了动画,那么应用程序的外观将如何。并考虑通过投票支持我的答案来应用...... :)
    猜你喜欢
    • 2013-07-24
    • 2018-06-27
    • 2015-01-16
    • 2015-12-01
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多