android怎么android动画translatee动画被遮挡住了

当前访客身份:游客 [
这个人很懒,啥也没写
目前还没有任何评论
今日访问:14
昨日访问:34
本周访问:155
本月访问:505
所有访问:5390
[Android动画] 补间动画-位置变化动画类(TranslateAnimation)二
发表于1年前( 13:52)&&
阅读(645)&|&评论()
0人收藏此文章,
TranslateAnimation类是Android系统中的位置变化动画类,用于控制View对象的位置变化,该类继承于Animation 类。TranslateAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是TranslateAnimation构 造方法。
【基本语法】public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
fromXDelta:位置变化的起始点X坐标。
toXDelta:位置变化的结束点X坐标。
fromYDelta:位置变化的起始点Y坐标。
toYDelta:位置变化的结束点Y坐标。
【实例演示】下面通过代码来演示如何设置一个简单的位置变化动画效果。
public&class&firstActivity&extends&Activity&{&&
/**&Called&when&the&activity&is&first&created.&*/&&
@Override&&
public&void&onCreate(Bundle&savedInstanceState)&{&&&&&&&&&&&&&&&//重载onCreate方法&&
&&&&super.onCreate(savedInstanceState);&&
&&&&setContentView(R.layout.main);&&
&&&&final&ImageView&image=(ImageView)findViewById(R.id.imageView1);&//ImageView对象&&
&&&&Button&btn1=(Button)findViewById(R.id.button1);&&&&&&&&&&&&&//按钮对象&&
&&&&Button&btn2=(Button)findViewById(R.id.button2);&&
&&&&final&Animation&translateAnimation=new&TranslateAnimation(0,300,0,300);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//位置变化动画效果&&
&&&&btn1.setOnClickListener(new&View.OnClickListener()&{&&&&&&&&&&&&//设置监听器&&
&&&&&&&&&&
&&&&&&&&@Override&&
&&&&&&&&public&void&onClick(View&v)&{&&
&&&&&&&&&&&&//&TODO&Auto-generated&method&stub&&
&&&&&&&&&&&&translateAnimation.setDuration(3000);&&&&&&&&&&&&&&&//设置动画持续时间&&
&&&&&&&&&&&&translateAnimation.setRepeatCount(2);&&&&&&&&&&&&&&&//设置重复次数&&
&&&&&&&&&&&&translateAnimation.setRepeatMode(Animation.REVERSE);&&&&//反方向执行&&
&&&&&&&&&&&&image.setAnimation(translateAnimation);&&&&&&&&&&&&&//设置动画效果&&
&&&&&&&&&&&&translateAnimation.startNow();&&&&&&&&&&&&&&&&&&&&&&//启动动画&&
&&&&&&&&}&&
&&&&btn2.setOnClickListener(new&View.OnClickListener()&{&&&&&&&&&&&&//设置监听器&&
&&&&&&&&&&
&&&&&&&&@Override&&
&&&&&&&&public&void&onClick(View&v)&{&&
&&&&&&&&&&&&//&TODO&Auto-generated&method&stub&&
&&&&&&&&&&&&translateAnimation.cancel();&&&&&&&&&&&&&&&&&&&&&&&&//取消动画执行&&
&&&&&&&&}&&
在这段代码中,首先通过TranslateAnimation构造方法创建了一个位置变化的动画对象。然后,在第一个按钮监听器中设置了动 画的持续时间、重复次数和重复模式等,然后启动该动画。在第二个按钮监听器中取消该动画。读者运行这段代码,将看到图片沿如图9.7所示的路径往返运动。
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读站点精彩推荐
&其他主题: |
推荐栏目:
&&您现在的位置:
-&内容正文
android位置转移动画效果 translate
来源:互联网 发表时间:
位置转移动画效果 translate
文件名: my_translate_action.xml
&?xml version="1.0" encoding="utf-8"?&
&set xmlns:android="/apk/res/android"&
&translate
android:fromXDelta="30"
android:toXDelta="-80"
android:fromYDelta="30"
android:toYDelta="300"
android:duration="800"
&!-- translate 位置转移动画效果
&&&&&&& 整型值:
&&&&&&& fromXDelta 属性为动画起始时 X坐标上的位置&&&
&&&&&&& toXDelta&& 属性为动画结束时 X坐标上的位置
&&&&&&& fromYDelta 属性为动画起始时 Y坐标上的位置
&&&&&&& toYDelta&& 属性为动画结束时 Y坐标上的位置
&&&&&&& 注意:
&&&&&&&&&&&&&&& &&&&&没有指定fromXType toXType fromYType toYType 时候,默认是以自己为相对参照物
&&&&&&& 长整型值:
&&&&&&& duration& 属性为动画持续时间
&&&&&&& 说明:&&&&
&&&&&&&&&&&&&&&&&&&& 时间以毫秒为单位
将本文分享到:
您可能对以下相关"android,translate,位置转移"文章还感兴趣:
电脑知识网(c) 版权所有
本网转载内容均注明出处,转载是出于传递更多信息之目的,如有侵犯您的版权请联系我们
电子邮件:admin_
媒体支持:android动画 对fillBefore 和 fillAfter的理解
fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。
最关键的问题是,这2个参数不能在&/alpha&,&/scale&,&/translate&,&/rotate&中设置,这是没有用的,必须
1)在动画xml文件的&/set&节点中设置,
[] &?xml version=&1.0& encoding=&utf-8&?&
&&set xmlns:android=&/apk/res/android&
&&&& android:fillEnabled=&true&
&&&& android:fillAfter=&true&&
&&&& &translate&&
&&&&&&&& android:interpolator=&@android:anim/cycle_interpolator&
&&&&&&&& android:fromXDelta=&0&
&&&&&&&& android:toXDelta=&200&
&&&&&&&& android:fromYDelta=&0&
&&&&&&&& android:toYDelta=&-50&
&&&&&&&& android:duration=&10000&
&&&&&&&& &&
&&&& &/translate&&
&&?xml version=&1.0& encoding=&utf-8&?&
&&set xmlns:android=&/apk/res/android&
& android:fillEnabled=&true&
& android:fillAfter=&true&&
& &translate
&&&&& android:interpolator=&@android:anim/cycle_interpolator&
&&&&& android:fromXDelta=&0&
&&&&& android:toXDelta=&200&
&&&&& android:fromYDelta=&0&
&&&&& android:toYDelta=&-50&
&&&&& android:duration=&10000&
& &/translate&
2)在java代码中设置。
[java] setFillAfter(true);
&setFillBefore(false);
摘自qiaoning13256的专栏
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。[Android UI界面] TranslateAnimation动画结束后的位置问题 - 收藏小栈
- 博客频道 - CSDN.NET
5547人阅读
我正在做一个效果:拖动一个view使之移动,松开后view会移动到固定的位置。
问题出现了:每当view回到指定位置的动画结束后,view都会回到起始位置,于是我设置了AnimationListener,在onAnimationEnd里调整了view的位置,但是在动画结束的一瞬间view还是会闪动一下。
关于setFillAfter设为true的方法我也尝试过。不会闪动,但是下一次拖拽会出现问题。
简短的代码如下:
& & case MotionEvent.ACTION_UP:
& & TranslateAnimation a = new TranslateAnimation(0,0,0,300-v.getTop());
& & a.setAnimationListener(new AnimationListener(){
& & public void onAnimationEnd(Animation animation) {
& & view.layout(b.getLeft(), 300, b.getRight(), 300&#43;view.getHeight());
& & public void onAnimationRepeat(Animation animation) { }
& & public void onAnimationStart(Animation animation) { }
& & a.setDuration(500);
& & //如果setFillAfter为ture是不会出现闪动的,但是下一次拖拽就不正常
& & //a.setFillAfter(true);
& & view.startAnimation(a);
& & a.startNow();
请大家指点一下,这种问题该如何解决
呵呵,解决了,自问自答吧
在onAnimationEnd里加view.clearAnimation();
清楚动画,然后再移动位置,这样就不会闪烁了
抱歉,view.clearAnimation();
虽然不会出现闪动现象,但是如果view里面有listView,拖动list到边缘出现黄色高光(2.3版)会异常,黄光出现过渡不自然,就像由32位颜色变到了24位,估计是由于动画被强制清除的原因。
解决办法是不用view.clearAnimation(),
在onAnimationEnd里加
TranslateAnimation anim = new TranslateAnimation(0,0,0,0);
view.setAnimation(anim);
既不闪动,也不会出现list拖动黄光异常现象。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:31180次
排名:千里之外
原创:13篇
转载:16篇
(1)(1)(1)(3)(2)(1)(2)(2)(1)(4)(4)(4)(3)

我要回帖

更多关于 android软键盘遮挡 的文章

 

随机推荐