我对android上的动画有一些疑问:
首先,是否有人能够很好地链接到解释Android动画的网站?只有XML动画,我不想使用java代码动画..
第二个问题:我想简单地将活动从左到右动画,从左到右,但是我无法实现这个简单的动画。
我的XML文件如下所示:
push left in:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_shortAnimTime"
android:fromXDelta="-100%p"
android:toXDelta="0" />
<alpha
android:duration="@android:integer/config_shortAnimTime"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>
push right out:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_shortAnimTime"
android:fromXDelta="0"
android:toXDelta="100%p" />
<alpha
android:duration="@android:integer/config_shortAnimTime"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>
在我的代码中,我在overridePendingTransition(R.anim.push_left_in,R.anim.push_right_out);
overridePendingTransition(R.anim.push_right_out,R.anim.push_left_in);
和super.finiah();
答案 0 :(得分:2)
这就是我设置简单淡入淡出动画的方法
这是我的incoming.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator" >
<alpha
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0" />
这是我的outgoing.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator" >
<alpha
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
这就是我打电话的方式在我的活动中设置动画
Intent i = new Intent(this, ABCActivity.class);
startActivity(i);
ModeSelectActivity.this.overridePendingTransition(
R.anim.outgoing, R.anim.incoming);
另外,请务必覆盖反向动画的onBackPressed()
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
ModeSelectActivity.this.overridePendingTransition(R.anim.outgoing,
R.anim.incoming);
}
答案 1 :(得分:0)
此页面上有许多动画:
您可以查看slide_in_left.xml,slide_in_right.xml,slide_out_left.xml和slide_out_right.xml。
您可以使用overridePendingTransition()来使用这些过渡。