在安卓中,定义动画方案有很多种,首先我们由深入浅,之所以要由深入浅是因为提高大家的兴趣,再者是最近计算机图形老师要求的实验,要求使用VS的软件作画,语言要求c++,小编不仅很硬气的选择了java语言,还很霸道的选择了安卓来实现,看得助教一愣一愣的,硬是让我验过了,学有所用就是这样,在学习之前大家可以深入了解一下计算机图形的矩阵思想,这个在之后会将,大家也可以先去了解一下,我们这节课简单的使用已经封装好的简便方法实现上述功能,至于具体算法,之后会讲。
建立三个Activity分别实现缩放,平移,旋转
这里为了显示清楚,小编采取了分页模式中的ActivityGroup,来使得页面分别显示三个Activity,感兴趣的可以在我博客里找有讲述,觉得实现麻烦的可以利用跳转功能,如果连跳转都觉得麻烦的建议使用方法直接按钮定义也可以。
首先布局文件定义,因为三个xml异曲同工,这里就只列出一个例子:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/image2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="Translate" android:src="@drawable/jump" /> </LinearLayout>
上述绑定了监听方法,实现不同功能需要你定义不同的监听方法,这里需要你自己定义
缩放的Activity代码
public class MyActivity extends Activity { private ImageView image=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.mylayout); image=(ImageView)super.findViewById(R.id.image1); } public void scale(View v){ AnimationSet set=new AnimationSet(true); ScaleAnimation scale=new ScaleAnimation( 1,0.0f,//X轴从满屏缩小到无 1,0.0f,//Y轴从满屏缩小到无 Animation.RELATIVE_TO_SELF,0.5f,//以自身0.5宽度为轴缩放 Animation.RELATIVE_TO_SELF,0.5f);//以自身0.5宽度为轴缩放 scale.setDuration(3000);//三秒完成动画 set.addAnimation(scale);//增加动画 MyActivity.this.image.startAnimation(set); } }
平移代码:
public class MyActivity2 extends Activity{ private ImageView image=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.mylayout2); image=(ImageView)super.findViewById(R.id.image2); } public void Translate(View v){ AnimationSet set=new AnimationSet(true); TranslateAnimation trans=new TranslateAnimation( Animation.RELATIVE_TO_SELF,0.0f, Animation.RELATIVE_TO_SELF,0.5f,//以自身0.5宽度为轴 Animation.RELATIVE_TO_SELF,0.0f, Animation.RELATIVE_TO_SELF,1.5f);//以y轴原点进行计算 trans.setDuration(3000);//三秒完成动画 set.addAnimation(trans);//增加动画 MyActivity2.this.image.startAnimation(set); }
旋转代码
public class MyActivity3 extends Activity { private ImageView image=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.mylayout3); image=(ImageView)super.findViewById(R.id.imageView1); } public void Rotate(View v){ AnimationSet set=new AnimationSet(true); RotateAnimation rotate=new RotateAnimation( 0,60,//旋转角度 Animation.RELATIVE_TO_SELF,0.5f,//以自身0.5宽度为轴 Animation.RELATIVE_TO_SELF,0.0f);//以y轴原点进行计算 rotate.setDuration(3000);//三秒完成动画 set.addAnimation(rotate);//增加动画 MyActivity3.this.image.startAnimation(set); } }
实现效果如下:
缩放:
平移:
旋转:
相关推荐
Android 补间动画, 具体介绍了: 1、透明度 2、平移 3、旋转 4、缩放 4种动画效果的实现, 简单易懂
简单的Android动画,旋转,透明,平移,缩放
解决svg对象,位置有偏移量时旋转缩放会产生偏移。绕着坐标(x,y)中心,原点 旋转缩放平移
Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。Matrix没有机构体,它必须初始化,然后通过reset方法和set方法来实现。 首先介绍一下矩阵运算。加法和减法就...
主要实现Android旋转、平移、缩放和透明度渐变的补间动画,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
包含平移、旋转、缩放、透明度和组合动画代码 包含平移、旋转、缩放、透明度和组合动画代码
通过Animation对象实现:抖动动画(基于平移动画)、平移动画、缩放动画、旋转动画、透明度渐变动画。
Android 平台提供了两类...本例子主要实现了Tweene动画,实现了页面等待、开门、元素旋转平移缩放渐变等功能,并且使用了在Activity界面直接操作动画、重写View处理动画、利用XML处理动画等技术,是非常不错的资源。
主要介绍了基于Android 实现图片平移、缩放、旋转同时进行的相关资料,需要的朋友可以参考下
属性动画 平移,旋转,缩放,透明度变化,使用ValueAnimator和ObjectAnimator实现 基于贝塞尔曲线实现的仿qq点赞效果的自定义ViewGroup
android的四种基本动画,缩放,平移,渐隐,旋转
这里是使用code构建android基本动画,和一个示例组合动画。有里向外效果,渐变-缩放-平移组合。 渐变,缩放,平移,旋转动画
Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。本文分析 Tween动画的rotate...
每一部分都有旋转、缩放、平移、透明度、组合等几个部分。 非常适合初学者对于视图动画和属性动画的用法的掌握。 欢迎访问我的博客! 有什么问题,欢迎留言评论!【握手~】 欢迎关注我的github! Follow me! 另外,...
包括了Android的简单动画,平移,旋转,淡入淡出,缩放。。代码注释很详尽。。新手推荐
Android 补间动画,具体介绍了平移,旋转,缩放,渐变四种动画效果的实现,简单易懂
Android动画主要包括视图动画和属性动画,视图动画包括Tween动画和Frame动画,Tween动画又包括渐变动画、平移动画、缩放动画、旋转动画。 Tween动画的基本属性 目标 View; 时常 duration; 开始状态 fromXXX...
一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。 第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。 下面就讲一下Tweene Animations。 ...
View动画从名字就可以大致知道,View动画是对View做图形变换(平移、缩放、旋转、透明度)从而产生动画效果,并且View动画支持自定义。帧动画是通过顺序播放一系列的图片从而产生的动画效果。属性动画是在API11...