首页 > 其他分享 >简单位移动画TranslateAnimation

简单位移动画TranslateAnimation

时间:2023-05-01 14:04:46浏览次数:53  
标签:动画 TranslateAnimation animation ImageView import android btn 100 位移


已不再推荐补间动画,请使用属性动画;



动画中的View的点击判断



Android 动画框架详解


http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html




每次点击往前100或往后100.


package com.ql.app;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.LinearInterpolator;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.ImageView;

public class App extends Activity {
	private Button btn_0,btn_1;
	private ImageView iv;
	private int count;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        iv = (ImageView)findViewById(R.id.iv);
        iv.bringToFront();
        btn_0=(Button)findViewById(R.id.btn_0);
        btn_0.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				TranslateAnimation animation = new TranslateAnimation(count*100, 100+count*100, 0, 0);
				animation.setInterpolator(new LinearInterpolator());
				animation.setDuration(400);
				animation.setFillAfter(true);
				iv.startAnimation(animation);
				count++;
			}
		});
        
        btn_1=(Button)findViewById(R.id.btn_1);
        btn_1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				TranslateAnimation animation = new TranslateAnimation(count*100, -100+count*100, 0, 0);
				animation.setInterpolator(new LinearInterpolator());
				animation.setDuration(400);
				animation.setFillAfter(true);
				iv.startAnimation(animation);
				count--;
			}
		});
        
        
    }
}




android 自定义Animation


http://lipeng88213.iteye.com/blog/1199120


http://www.ophonesdn.com/article/show/185


简单循环动画的实现:


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
	<alpha
		android:interpolator="@android:anim/linear_interpolator" 
		android:fromAlpha="1.0"
		android:toAlpha="0.1"
		android:duration="2000"
		android:repeatCount="infinite"
		android:repeatMode="reverse"
		/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator">
	<translate 
	android:fromXDelta="0" 
	android:toXDelta="100%" 
	android:duration="2000"
	android:repeatCount="infinite"
	android:repeatMode="reverse"
	/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<scale 
	    android:fromXScale="1.0" 
	    android:toXScale="2.0"
		android:fromYScale="1.0" 
		android:toYScale="2.0" 
		android:pivotX="50%"
		android:pivotY="50%" 
		android:duration="2000" 
		android:repeatCount="infinite"
		android:repeatMode="reverse"
		android:interpolator="@android:anim/linear_interpolator" 
		/>
</set>



使用:


import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.TextView;

public class App extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Animation alpha = AnimationUtils.loadAnimation(this, R.anim.anim_alpha);
        Animation translate = AnimationUtils.loadAnimation(this, R.anim.anim_translate);
        Animation scale = AnimationUtils.loadAnimation(this, R.anim.anim_scale);
        
        TextView tv=(TextView)findViewById(R.id.tv);
        tv.startAnimation(alpha);
        ImageView iv0=(ImageView)findViewById(R.id.iv0);
        ImageView iv1=(ImageView)findViewById(R.id.iv1);
        ImageView iv2=(ImageView)findViewById(R.id.iv2);
        iv0.startAnimation(alpha);
        iv1.startAnimation(translate);
        iv2.startAnimation(scale);
        
    }
}


标签:动画,TranslateAnimation,animation,ImageView,import,android,btn,100,位移
From: https://blog.51cto.com/u_5454003/6238866

相关文章

  • Activity切换动画效果的修改
    Activity的动画效果在\android\frameworks\base\core\res\res\values下的stlyes.xml,themes.xml两个文件中有定义。但是有时这些效果未必能满足你的要求,需要自己定义styles.xml来实现这个功能。Activity去掉默认的动画效果方法:1.重写Activity的Them中的......
  • Android Activity界面切换添加动画特效
    在Android2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出两一个activity的进入。@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentVi......
  • Android播放GIF动画
    "quality="high"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer">1.<ImageViewandroid:id="@+id/gifpicture"2.android:layout_width="fill_parent&quo......
  • Activity之间的切换动画
    从android系统2.1以后,android新增了方法:overridePendingTransition(intenterAnim,intexitAnim),用于改变Activity之间的切换动画。从样式里进行改变切换动画这个主要是加在样式文件里进行更改,代码如下:Xml代码 1.<</span>stylename="Theme.Test"parent="......
  • 记录一下MAX在动画制作中遇到文件大小无限膨胀的BUG
    最新在用MAX的biped骨骼做动画,一个简单的角色动画,用到了运动混合器,随着项目的推进,诡异的事情开始出现,文件变得无比庞大,但文件内都是链接,模型面数也不到1w,但文件大小却膨胀到了300多MB这使得打开和保存变得无比慢,但是用首选项里的“压缩保存的文件”选项却可以把工程文件压缩到4MB......
  • Unity动画系统详解9:Target Matching是什么?
    摘要:在游戏中,经常有这种情况:角色的手或者脚需要在特定时间放在特定的位置。比如角色需要用手撑着跳过一个石头或一堵墙,或者跳起抓住房梁。TargetMatch就是让动画的特定片段去匹配特定的位置。洪流学堂,让你快人几步。你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu)习(xi)动......
  • 如何使用CSS来修改SVG原点和制作SVG动画
    SVG元素可以像HTML元素一样,使用CSSkeyframes和animation属性或者CSStransitions来制作各种动画效果。 SVG元素可以像HTML元素一样,使用CSSkeyframes和animation属性或者CSStransitions来制作各种动画效果。大多数情况下,一个复杂的动画效果需要组合多种变换效果:旋转、倾......
  • css渐变实现进度条动画
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • Android补间动画
    帧动画是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧",而动画变化的"中间帧"则由系统计算并补齐!1.补间动画的分类和InterpolatorAndoird所支持的补间动画效果有如下这五种,或者说四种吧,第五种是前面几种的组合而已。AlphaAnimation:透明度渐......
  • 视频直播源码,android动画小飞机旋转效果
    视频直播源码,android动画小飞机旋转效果 //小飞机旋转动效果publicclassPlaneViewextendsView{  privatePaintpaint;  privateintwidth;  privateintheight;  privatefloatcurLength;  privatefloatallLength;  privatefloatmAnimato......