2013-11-01 45 views
1

我想切换使用动画的活动.. 我有一个视图与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 ... 但动画无效。帮我解决这个问题。预先感谢。

+0

看看是否有帮助http://stackoverflow.com/questions/11364714​​/overridependingtransition-doesnt-work – pskink

+0

尝试从清单文件中的活动中删除主题。 –

+0

我没有在我的清单文件中添加任何主题。 – AndroidOptimist

回答

0

您应该在您的第二个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的开始和关闭动画。

+0

感谢你的答..我编辑我的问题..我的问题是动画是不是在真正的设备上工作.. – AndroidOptimist

+0

你运行我的代码?我在很多应用程序中使用这段代码,我很确定它正在工作。用你现在使用的那个更新你的代码。 – hardartcore

+0

以上是我在程序中使用的代码.. – AndroidOptimist

0

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