【问题标题】:Animation has no effect on real device activity switching动画对真实设备活动切换没有影响
【发布时间】:2013-11-01 08:58:45
【问题描述】:

我想用动画切换活动.. 我有一个包含 5 个图像的视图,并且我设置了我的 oncliclk 侦听器。 我的主要活动是

private View.OnClickListener onClickListener = new View.OnClickListener()
      {
        public void onClick(View testView)
        {
          if (testView == Main.this.myinput)
          {   
         Intent i = new Intent(Main.this, Activity1.class);
        startActivity(i);
        overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
          }

       if (testView == Main.this.myinput)
          {   
         Intent i = new Intent(Main.this, Activity2.class);
        startActivity(i);
        overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
          }
        }
      };

我的动画文件是 淡入:

<?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 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:fillAfter="true"
           android:duration="500" />

现在我的问题是在活动之间切换时,动画对真实设备没有影响,但它在模拟器上运行......我提到了堆栈溢出和谷歌搜索但找不到动画为什么不起作用...... 我尝试了各种类型的动画,例如slide_in_left,right,top,bottom ... 但动画不起作用。帮我解决这个问题。在此先感谢..

【问题讨论】:

  • 尝试从清单文件中的活动中删除主题。
  • 我没有在清单文件中添加任何主题..
  • 你检查过动画设置吗?
  • 是的,我做到了……让我再检查一遍……

标签: android animation android-animation


【解决方案1】:

您应该在第二个Activity 中添加overridePendingTransition(R.anim.fade_in, R.anim.fade_out);。例如:

public class SecondActivity extends Activity {

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       // Activity open animation
       overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
       setContentView(R.layout.activity_fragment_container);
   }

   @Override
   public void onPause() {
       super.onPause();
       // Activity closing animation
       overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
   }
}

这样做您可以控制Activity 的启动和关闭动画。

【讨论】:

  • 感谢您的回答..我编辑了我的问题..我的问题是动画无法在真实设备上运行..
  • 你运行了我的代码吗?我在很多应用程序中使用这段代码,我很确定它正在工作。使用您现在使用的代码更新您的代码。
  • 我在单击侦听器中使用各种情况,我可以将所有在 onpause 事件中的情况一起提到吗?
  • 我可以看到您在 onClick 中使用相同的动画,您单击哪个按钮并不重要。因此,只需像我发布的那样覆盖 Activity1Activity2 中的待处理交易,它就会起作用。
【解决方案2】:

我遇到了同样的问题。然后我找到决定。您应该在手机上启用动画。 转到:Settings &gt; Display &gt; Animation(路径可能因设备而异)。在此处启用动画。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多