Android动画处理缩放,平移,旋转

标签: android 动画 缩放 | 发表时间:2015-05-19 01:28 | 作者:梳子不爱头发
出处:http://www.iteye.com

                              在安卓中,定义动画方案有很多种,首先我们由深入浅,之所以要由深入浅是因为提高大家的兴趣,再者是最近计算机图形老师要求的实验,要求使用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);
		
	}
}

 实现效果如下:

缩放:


平移:


旋转:




 
 

 
 

 
 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [android 动画 缩放] 推荐:

Android动画处理缩放,平移,旋转

- - 移动开发 - ITeye博客
     建立三个Activity分别实现缩放,平移,旋转. 这里为了显示清楚,小编采取了分页模式中的ActivityGroup,来使得页面分别显示三个Activity,感兴趣的可以在我博客里找有讲述,觉得实现麻烦的可以利用跳转功能,如果连跳转都觉得麻烦的建议使用方法直接按钮定义也可以. 首先布局文件定义,因为三个xml异曲同工,这里就只列出一个例子:.

android动画

- - CSDN博客移动开发推荐文章
一、        开发资料与实例教程. 分析android动画模块. Android 动画类的特点和区别. Android动画基础--本文转载自--springfieldx的文章,在此向他致谢. Android Animation 动画效果. Android Tween动画(一). Android Tween动画(二).

iPhone/android的viewport 解决网页自动缩放的问题

- - 快乐无极的博客
viewport有如下几个属性:. width设置viewport的宽度,即iphone最初模拟PC浏览器的宽度,之后iphone会这个宽度展现的页面同比缩放到iphone屏幕上. 设置width=device-width后就不会再进行缩放了,因为宽度正好和iphone的宽度相同(前提是没有设置缩放比例).

Android App启动画面的制作

- - CSDN博客推荐文章
  安卓软件启动时,都会有一个全屏的带LOGO,软件名称,版本号的启动屏幕. 打开eclipse,新建一个Android项目,不建Activity. 1、新建Activity文件. 点击项目管理里的res,进入layout,右键点击NEW-》Project-》Android-》Android XML Layout File 按步骤新建一个Activity的XML文件.

Android屏幕的大小、密度以及字符缩放比例——DisplayMetrics类

- - CSDN博客推荐文章
上一贴 对DisplayMetrics表述的还不是太透彻,这一贴专门来研究一下:. DisplayMetrics类  ——结构化的描述显示器的一般信息,包括它的大小、密度以及字符缩放比例.  public float density;//屏幕像素密度值,density值表示每英寸有多少个显示点,与分辨率是两个不同的概念.

android图片的打开和缩放时出现oom处理过程

- - CSDN博客移动开发推荐文章
以前对于图片缩放时出现oom,也是束手无策. 昨天看了 Android_Tutor对于图片处理的文章,今天就斗胆将这部分的内容演习下. 首先创建一个布局文件:用imageview控件加载图片. 其次:用公共类ImageCacheUtil对图片进行压缩处理:这样可以保证图片太大的时候不会出现oom.

[原]Android多点触控技术实战,自由地对图片进行缩放和移动

- - guolin的专栏
转载请注明出处: http://blog.csdn.net/guolin_blog/article/details/11100327. 在上一篇文章中我带着大家一起实现了Android瀑布流照片墙的效果,虽然这种效果很炫很酷,但其实还只能算是一个半成品,因为照片墙中所有的图片都是只能看不能点的. 因此本篇文章中,我们就来对这一功能进行完善,加入点击图片就能浏览大图的功能,并且在浏览大图的时候还可以通过多点触控的方式对图片进行缩放.

【前端优化之渲染优化】大屏android手机动画丢帧的背后 - 叶小钗

- - 博客园_首页
上周我与阿里的宇果有一次技术的交流,然后对天猫H5站点做了一些浅层次的分析,后面点时间基本天天都会有联系,中途聊了一些技术细节、聊了双方团队在干什么,最后聊到了前端优化. 因为我本身参与了几次携程H5站点的优化,在这方面有一些心得,但是与宇果交流的过程中发现我们在优化的时候忽略了一些细节. 携程做优化的时候整个重心基本放到了尺寸的缩减,和宇果的交流过程中他提出了渲染优化,其实渲染优化无非是减少回流,对于减少回流我们也有一些概念,我一直认为这个事情应该业务开发关注而不是框架关注(事实上框架也无法关注),所以对一些BUG采取了表现层面的解决,却对真相视而不见的做法,现在想来真的有点无知,这里便以一个原来的渲染BUG为切入点,将最近与宇果的交流所得整理下.

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.