打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
android 补间动画的实现

为实现android的补间动画,我们需要定义一个描述动画动作的xml文件


该文件建议放在res/anim下


需自己创建建文件夹


代码如下



<?xml version="1.0" encoding="utf-8"?><set    xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/linear_interpolator"><!--      透明度变化 -->     <alpha          android:fromAlpha="1"         android:toAlpha="0"         android:duration="2000"/><!--      缩放与扩大 -->     <scale android:fromXScale="1.0"        android:toXScale="0"        android:fromYScale="1.0"        android:toYScale="0"        android:pivotX="50%"        android:pivotY="50%"        android:fillAfter="true"        android:duration="2000"/><!--     水平与垂直位移 -->    <translate         android:fromXDelta="0"        android:toXDelta="130"        android:fromYDelta="0"        android:toYDelta="-80"        android:duration="2000"/><!--     旋转 -->    <rotate         android:fromDegrees="0"        android:toDegrees="360"        android:pivotX="50%"        android:pivotY="50%"         android:duration="2000"/>    </set>


我们的布局文件很简单,只有一个按钮和一个ImangView


代码:



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" ><ImageView     android:src="@drawable/test"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:id="@+id/image"/><Button     android:layout_below="@id/image"    android:text="start"    android:id="@+id/button"    android:layout_width="wrap_content"    android:layout_height="wrap_content"/></RelativeLayout>


下面就要用到java文件来处理图片的动画了


需要用到AnimationUtils中的loadAnimation方法来调用我们的动画资源


具体代码如下



package com.happyrxk.returnhome;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity {    private ImageView image;    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        final Animation anim =AnimationUtils.loadAnimation(this, R.anim.my_anim);                button = (Button)findViewById(R.id.button);        image = (ImageView)findViewById(R.id.image);        button.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                // TODO Auto-generated method stub                image.startAnimation(anim);            }        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }


 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android之Lottie动画详解(非原创)
Android中的Drawable资源详解
第二十四讲:Android动画入门(一) ? { Android学习指南 }
详解Android动画之Tween Animation
Android动画及图片的缩放和旋转
Android 仿微信之界面导航篇(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服