Android 动画:将左下角移动到屏幕中间
Android Animation : Translate Bottom Left to Middle of the Screen
我想设计一个布局,其中像图像这样的动画 below.Its 不是直接从左下角到中间它应该是圆形的 way.Five 图像应该来自左下角一。
我已经完成了代码,但它实际上并没有按照我想要的方式工作,我只想知道我必须在 Anim 文件夹中放入什么(动画资源文件)
[![<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1500"
android:fromXDelta="0%"
android:fromYDelta="200%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>][1]][1]
为此我们必须创建五个 anim
styles
并且必须将这五个圆圈一一设置。
first_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1000"
android:fromXDelta="-300%"
android:fromYDelta="1100%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
second_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1200"
android:fromXDelta="-350%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
third_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1500"
android:fromXDelta="-380%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
four_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1800"
android:fromXDelta="-500%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
five_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="2000"
android:fromXDelta="-600%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
现在将您的视图设置为动画 class。
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.first_anim);
yourView.setAnimation(anim);
上面的答案对这个问题很有用,但是你必须按照你提到的那样设置五个动画。
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.first_anim);
yourView.setAnimation(anim);
Animation anim2 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.two_anim);
yourView.setAnimation(anim2);
Animation anim3 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.three_anim);
yourView.setAnimation(anim3);
Animation anim4 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.four_anim);
yourView.setAnimation(anim4);
Animation anim5 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.five_anim);
yourView.setAnimation(anim5);
[![<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1500"
android:fromXDelta="0%"
android:fromYDelta="200%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>][1]][1]
为此我们必须创建五个 anim
styles
并且必须将这五个圆圈一一设置。
first_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1000"
android:fromXDelta="-300%"
android:fromYDelta="1100%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
second_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1200"
android:fromXDelta="-350%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
third_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1500"
android:fromXDelta="-380%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
four_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1800"
android:fromXDelta="-500%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
five_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="2000"
android:fromXDelta="-600%"
android:fromYDelta="800%"
android:toXDelta="0%"
android:toYDelta="0%" />
现在将您的视图设置为动画 class。
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.first_anim);
yourView.setAnimation(anim);
上面的答案对这个问题很有用,但是你必须按照你提到的那样设置五个动画。
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.first_anim);
yourView.setAnimation(anim);
Animation anim2 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.two_anim);
yourView.setAnimation(anim2);
Animation anim3 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.three_anim);
yourView.setAnimation(anim3);
Animation anim4 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.four_anim);
yourView.setAnimation(anim4);
Animation anim5 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.five_anim);
yourView.setAnimation(anim5);