改变Fragment的默认动画

FragmentTransaction ft = getFragmentManager().beginTransaction();
//设置进入退出动画
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
 
DetailsFragment newFragment = DetailsFragment.newInstance();
 
ft.replace(R.id.details_fragment_container, newFragment, "detailFragment");
 
// Start the animated transition.
ft.commit();

下面是anim目录下的动画

enter_from_left.xml
<translate 
      android:fromXDelta="-100%" android:toXDelta="0%"
      android:fromYDelta="0%" android:toYDelta="0%"
      android:duration="700"/>

enter_from_right.xml


<translate
     android:fromXDelta="100%" android:toXDelta="0%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />

exit_to_left.xml

<translate 
      android:fromXDelta="0%" android:toXDelta="-100%"
      android:fromYDelta="0%" android:toYDelta="0%"
      android:duration="700"/>

exit_to_right.xml

<translate
     android:fromXDelta="0%" android:toXDelta="100%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />

Activity改变 默认动画

Intent intent = new Intent(TestActivities.this,TestActivityFirst.class);
startActivity(intent);
// transaction animation
overridePendingTransition(R.anim.slide_in_bottom,R.anim.slide_out_bottom);

Activity的转场动画是通过overridePendingTransition(int enterAnim, int exitAnim)实现的。

  
  这个方法在startActivity(Intent) or finish()之后被调用,指定接下来的这个转场动画。

  1.enterAnim,是新的Activity的进入动画的resource ID;

  2.exitAnim,是旧的Activity(当前的Activity)离开动画的resource ID。

所以这两个参数的对象是两个Activity。  

  如果上面两个参数没有动画要设置,则用0作为参数。

  动画的资源文件放在res\anim\目录下

posted @ 2015-10-02 13:54  need88  阅读(607)  评论(0编辑  收藏  举报