translate 位置转移动画效果
整型值:
fromXDelta 属性为动画起始时 X坐标上的位置
toXDelta 属性为动画结束时 X坐标上的位置
fromYDelta 属性为动画起始时 Y坐标上的位置
toYDelta 属性为动画结束时 Y坐标上的位置
注意:
没有指定,
默认是以自己为相对参照物
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
在这些属性里面还可以加上%和p,例如:
android:toXDelta="100%",表示自身的100%,也就是从View自己的位置开始。
android:toXDelta="80%p",表示父层View的80%,是以它父层View为参照的。
1. [代码]new_dync_out_to_left.xml(带动态效果移动)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<!--从屏幕左边退出,先退后2%p位置,再向左退出 -->
<
set
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:shareInterpolator
=
"false"
>
<
translate
android:duration
=
"200"
android:fromXDelta
=
"0%p"
android:interpolator
=
"@android:anim/accelerate_decelerate_interpolator"
android:toXDelta
=
"2%p"
/>
<
translate
android:duration
=
"1000"
android:fromXDelta
=
"2%p"
android:interpolator
=
"@android:anim/accelerate_interpolator"
android:startOffset
=
"200"
android:toXDelta
=
"-100%p"
/>
</
set
>
|
2. [代码]new_dync_in_from_right.xml
1
2
3
4
5
6
7
8
|
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<!--从屏幕右边偏离2%位置开始进入,到达终点后有超出在返回终点的动态效果 -->
<
translate
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:duration
=
"1000"
android:fromXDelta
=
"102%p"
android:interpolator
=
"@android:anim/anticipate_overshoot_interpolator"
android:startOffset
=
"200"
android:toXDelta
=
"0%p"
/>
|
3. [代码]调用代码
1
2
3
4
5
|
Intent intent =
new
Intent();
intent.setClass(ActivitySwitchDemoActivity.
this
, SecondActivity.
class
);
startActivity(intent);
//设置切换动画,从右边进入,左边退出,带动态效果
overridePendingTransition(R.anim.new_dync_in_from_right, R.anim.new_dync_out_to_left);
|