安卓之动画制作
2017-07-09 16:16
183 查看
1.知识图谱
(补间动画和帧动画)
1.补间动画的效果图:
(alpha透明度) (ratate旋转)
XML代码:
MainActivity.xml代码:
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.cookie.android0626animation.MainActivity">
<!--alpha透明度-->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/eat1"
android:id="@+id/iv_main_image"
android:layout_marginTop="100dp"/>
<!--rotate旋转-->
<!--scale缩放-->
<!--translate移动-->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_alpha"
android:layout_weight="1"
android:onClick="operation"
android:text="alpha"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_rotate"
android:layout_weight="1"
android:onClick="operation"
android:text="rotate"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_scale"
android:layout_weight="1"
android:onClick="operation"
android:text="scale"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_translate"
android:layout_weight="1"
android:onClick="operation"
android:text="translate"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="all"
android:onClick="operation"
android:id="@+id/bu_image_all"/>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
在Project里找到你写的现在写动画的项目,然后在res下新建一个anim文件夹,在该文件夹下新建所需动画效果的xml类
iv_alpha.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.3"
android:duration="3000"
android:fillAfter="true"
>
</alpha>
iv_rotate.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="720"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:fillAfter="true"
>
</rotate>
iv_scale.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="100%"
android:fromYScale="100%"
android:toXScale="50%"
android:toYScale="50%"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:fillAfter="true"
>
</scale>
iv_translate.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="50%"
android:toYDelta="50%"
android:duration="3000"
android:fillAfter="true"
>
</translate>
iv_all.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3000"
android:fillAfter="true">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.3"
></alpha>
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
></rotate>
<scale
android:fromXScale="100%"
android:fromYScale="100%"
android:toXScale="50%"
android:toYScale="50%"
android:pivotX="50%"
android:pivotY="50%"
></scale>
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="50%"
android:toYDelta="50%"
></translate>
</set>
MainActivity.Java代码:
[html] view
plain copy
package com.example.cookie.android0626animation;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView iv_main_image;
private Animation animation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_main_image = (ImageView) findViewById(R.id.iv_main_image);
}
public void operation(View view){
switch (view.getId()) {
case R.id.bu_image_alpha:
//加载动画
animation = AnimationUtils.loadAnimation(this, R.anim.iv_alpha);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_rotate:
//加载动画
animation=AnimationUtils.loadAnimation(this,R.anim.iv_rotate);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_scale:
animation=AnimationUtils.loadAnimation(this,R.anim.iv_scale);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_translate:
//加载动画
animation=AnimationUtils.loadAnimation(this,R.anim.iv_translate);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_all:
//加载动画
animation=AnimationUtils.loadAnimation(this,R.anim.iv_all);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
}
}
}
(补间动画和帧动画)
1.补间动画的效果图:
(alpha透明度) (ratate旋转)
XML代码:
MainActivity.xml代码:
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.cookie.android0626animation.MainActivity">
<!--alpha透明度-->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/eat1"
android:id="@+id/iv_main_image"
android:layout_marginTop="100dp"/>
<!--rotate旋转-->
<!--scale缩放-->
<!--translate移动-->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_alpha"
android:layout_weight="1"
android:onClick="operation"
android:text="alpha"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_rotate"
android:layout_weight="1"
android:onClick="operation"
android:text="rotate"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_scale"
android:layout_weight="1"
android:onClick="operation"
android:text="scale"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/bu_image_translate"
android:layout_weight="1"
android:onClick="operation"
android:text="translate"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="all"
android:onClick="operation"
android:id="@+id/bu_image_all"/>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
在Project里找到你写的现在写动画的项目,然后在res下新建一个anim文件夹,在该文件夹下新建所需动画效果的xml类
iv_alpha.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.3"
android:duration="3000"
android:fillAfter="true"
>
</alpha>
iv_rotate.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="720"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:fillAfter="true"
>
</rotate>
iv_scale.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="100%"
android:fromYScale="100%"
android:toXScale="50%"
android:toYScale="50%"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:fillAfter="true"
>
</scale>
iv_translate.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="50%"
android:toYDelta="50%"
android:duration="3000"
android:fillAfter="true"
>
</translate>
iv_all.xml代码
[html] view
plain copy
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3000"
android:fillAfter="true">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.3"
></alpha>
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
></rotate>
<scale
android:fromXScale="100%"
android:fromYScale="100%"
android:toXScale="50%"
android:toYScale="50%"
android:pivotX="50%"
android:pivotY="50%"
></scale>
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="50%"
android:toYDelta="50%"
></translate>
</set>
MainActivity.Java代码:
[html] view
plain copy
package com.example.cookie.android0626animation;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView iv_main_image;
private Animation animation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_main_image = (ImageView) findViewById(R.id.iv_main_image);
}
public void operation(View view){
switch (view.getId()) {
case R.id.bu_image_alpha:
//加载动画
animation = AnimationUtils.loadAnimation(this, R.anim.iv_alpha);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_rotate:
//加载动画
animation=AnimationUtils.loadAnimation(this,R.anim.iv_rotate);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_scale:
animation=AnimationUtils.loadAnimation(this,R.anim.iv_scale);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_translate:
//加载动画
animation=AnimationUtils.loadAnimation(this,R.anim.iv_translate);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
case R.id.bu_image_all:
//加载动画
animation=AnimationUtils.loadAnimation(this,R.anim.iv_all);
//给图片开启动画效果
iv_main_image.startAnimation(animation);
break;
}
}
}
相关文章推荐
- 【安卓开机动画制作】如何将视频转…
- 【安卓开机动画制作教程】(二)如…
- 安卓手机开机动画bootanimation.zip文件制作以及注意事项
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作】如何将视频转…
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作】如何将视频转…
- 【安卓开机动画制作教程】(二)如…
- 安卓开机动画制作
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作】如何将视频转…
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作】如何将视频转…
- 【安卓开机动画制作教程】(二)如…
- 【安卓开机动画制作】如何将视频转…
- 安卓 制作补间动画,帧动画
- 安卓手机开机动画制作原理教程