Android 动画
来源:互联网 发布:央视新闻网络直播 编辑:程序博客网 时间:2024/05/10 16:37
动画分类:
ViewAnimation
补间动画 Tween Animation
帧动画 Frame Animation
PropertyAnimation(3.0)
补间动画,帧动画,属性动画
1.补间动画Tween
alpha rotate scale translate
2.动画监听
AnimationListener
3.帧动画
Frame
首先给大家讲一下补间动画:
xml文件:
<?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.zking.administrator.g160628_android17_animation.MainActivity"> <ImageView android:layout_width="300dp" android:layout_height="200dp" android:src="@drawable/heart" android:id="@+id/iv_main_image" /> <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="alpha" android:onClick="operation" android:id="@+id/btn_main_alpha" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="rotate" android:onClick="operation" android:id="@+id/btn_main_rotate" /><Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="scale" android:onClick="operation" android:id="@+id/btn_main_scale" /><Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="translate" android:onClick="operation" android:id="@+id/btn_main_translate" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="all" android:onClick="operation" android:id="@+id/btn_main_all" /> </LinearLayout> </HorizontalScrollView></LinearLayout>
Activity文件
package com.zking.administrator.g160628_android17_animation;import android.animation.ObjectAnimator;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;import android.widget.Toast;public class MainActivity extends AppCompatActivity { private ImageView iv_main_image; private Animation animation; private Animation animation2; private Animation animation1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_main_image = (ImageView) findViewById(R.id.iv_main_image); iv_main_image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "点击了图片", Toast.LENGTH_SHORT).show(); } }); } public void operation(View view){ switch (view.getId()) { case R.id.btn_main_alpha: //加载动画 animation = AnimationUtils.loadAnimation(this, R.anim.iv_alpha); break; case R.id.btn_main_rotate: //加载动画 animation=AnimationUtils.loadAnimation(this,R.anim.iv_rotate); break; case R.id.btn_main_scale: //加载动画 //缩动画 animation1 = AnimationUtils.loadAnimation(this, R.anim.iv_scale); //放动画 animation2 = AnimationUtils.loadAnimation(this, R.anim.iv_scale2); //给动画设置监听 animation1.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { iv_main_image.startAnimation(animation2); } @Override public void onAnimationRepeat(Animation animation) { } }); animation2.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { iv_main_image.startAnimation(animation1); } @Override public void onAnimationRepeat(Animation animation) { } }); //给图片开启动画 iv_main_image.startAnimation(animation1); return; case R.id.btn_main_translate: //加载动画 //animation=AnimationUtils.loadAnimation(this,R.anim.iv_translate); //使用属性动画实现图片的移动 ObjectAnimator.ofFloat(iv_main_image,"translationX",0,200).setDuration(2000).start(); ObjectAnimator.ofFloat(iv_main_image,"translationY",0,200).setDuration(2000).start(); break; case R.id.btn_main_all: animation=AnimationUtils.loadAnimation(this,R.anim.iv_all); break; } // iv_main_image.startAnimation(animation); }}
再给大家讲一下桢动画:
xml文件:
<?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.zking.administrator.g160628_android17_animation.FrameActivity"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iv_frame_image" android:background="@drawable/iv_frame" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始" android:onClick="start" /></LinearLayout>
Activity文件:
package com.zking.administrator.g160628_android17_animation;import android.graphics.drawable.AnimationDrawable;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;public class FrameActivity extends AppCompatActivity { private ImageView iv_frame_image; private AnimationDrawable animationDrawable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_frame); iv_frame_image = (ImageView) findViewById(R.id.iv_frame_image); animationDrawable = (AnimationDrawable) iv_frame_image.getBackground(); } public void start(View view){ animationDrawable.start(); }}
阅读全文
0 0
- Android动画--视图动画
- Android动画--属性动画
- android动画 -- 属性动画
- Android:动画:tween动画
- Android:动画:Frame动画
- Android动画动画二
- Android动画-属性动画
- Android动画【属性动画】
- Android动画-帧动画
- Android动画--帧动画
- Android动画--属性动画
- Android动画-View动画
- android 动画 -- tween动画
- android 动画
- android动画
- android动画
- android动画
- Android动画
- Spring AOP 动态代理机制
- Android页面延迟自动跳转
- HYSBZ-3229 石子合并(GarsiaWachs算法优化)
- 安卓小知识
- JZOJ__Day 2:【普及模拟】串
- Android 动画
- 51nod 1174 区间中最大的数(线段树)
- MySQL数据库学习体系笔记
- 写的很好的Linux笔记
- Activity启动模式详解
- VS2013 c++ 生成和调用DLL动态链接库
- HTML简要介绍
- 5-5 互评成绩 (25分)
- 关注民生民情——华北水利水电大学“情艺”街边小店调查