900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > fragment 淡入淡出_Activity和Fragment的转场动画

fragment 淡入淡出_Activity和Fragment的转场动画

时间:2018-08-23 18:16:40

相关推荐

fragment 淡入淡出_Activity和Fragment的转场动画

Activity设置转场动画需要在startActivity和finish之后,意为给开启新视图或关闭旧视图添加转场动画。

这是Acitivity通过overridePending方法,设置进和出:

//新acitivity从以后边向左边滑入页面

startActitivity(MainAcitity.this, NewActivity.class);

overridePendingTransition(R.anim.push_left_in_no_alph,

R.anim.push_left_out_no_alpha);

//需要销毁的Activity向右边屏幕边缘滑出页面

finish();

overridePendingTransition(R.anim.push_right_in_no_alpha,

R.anim.push_right_out_no_alpha);

//让返回键也执行动画

public void onBackPressed() {

// TODO Auto-generated method stub

super.onBackPressed();

overridePendingTransition(R.anim.push_right_in_no_alpha,

R.anim.push_right_out_no_alpha);

}

Fragment的设置需要在transaction.add 或transaction.remove之前。

Fragment有两种方式,一种android提供了默认方法,一种自定义动画

//淡入淡出的默认动画

transaction = getSupportFragmentManager().beginTransaction();

transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);

//设置自定义过场动画

transaction.setCustomAnimations(

R.anim.push_left_in,

R.anim.push_left_out,

R.anim.push_left_in,

R.anim.push_left_out);

动画文件放置位置: res/anim: 这是兼容API-11以下的,只能有四种补间动画方式

//push_left_in_no_alpha,acitivity转场的时候用alpha会不好看

android:duration="200"

android:fromXDelta="100%p"

android:toXDelta="0" />

//push_left_out_no_alpha

android:duration="200"

android:fromXDelta="0"

android:toXDelta="-100%p" />

//push_right_in_no_alpha

android:duration="200"

android:fromXDelta="-100%p"

android:toXDelta="0" />

//push_right_out_no_alpha

android:duration="200"

android:fromXDelta="0"

android:toXDelta="100%p" />

用set标签的意思是可以集合多个动画一起执行,也可以自行选择单个动画,如alpha等。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。