动画对实际设备活动切换没有影响

时间:2013-11-01 08:58:46

标签: android animation android-animation

我想用动画切换活动.. 我有一个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); 
          }
        }
      };

我的动画文件是 fade_in:

<?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" />

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

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

2 个答案:

答案 0 :(得分:0)

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

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的开始和关闭动画。

答案 1 :(得分:0)

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