Android中利用TranslateAnimation移动时,不设置mTranslateAnimation.setFillAfter(true);,而利用视图的setLayoutParams来重新定位。。。。因为mTranslateAnimation.setFillAfter(true);之后,视图的事件消失,并且还有很多其他的问题。
而我们采用Animation.AnimationListener,在onAnimationEnd的方法中改变当前视图利用LayoutParams的setMargins方法重新定位位置。
代码段,仅供参考。
public void move() { jqkjScroll.setEnabled(true); Animation mTranslateAnimation = new TranslateAnimation(0, 0, 0, -showheight);// 移动 mTranslateAnimation.setDuration(minute); // mAnimationSet.setFillAfter(true); // mTranslateAnimation.setFillAfter(true); mTranslateAnimation .setAnimationListener(new Animation.AnimationListener() { public void onAnimationStart(Animation animation) { if (isNoMenu == false) { curent.setVisibility(View.GONE); } } public void onAnimationEnd(Animation animation) { RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( contentLayout.getLayoutParams()); contentImg.setImageResource(R.drawable.open); params.setMargins(0, endY - startY, 0, 0); contentLayout.clearAnimation(); contentLayout.setLayoutParams(params); jqkjScroll.scrollTo(0, 0); isMoveORShowing = false; } public void onAnimationRepeat(Animation animation) { } }); contentLayout.startAnimation(mTranslateAnimation); } public void show() { jqkjScroll.setEnabled(false); Animation mTranslateAnimation = new TranslateAnimation(0, 0, 0, showheight);// 移动 mTranslateAnimation.setDuration(minute); mTranslateAnimation .setAnimationListener(new Animation.AnimationListener() { public void onAnimationStart(Animation animation) { if (isNoMenu == false) { curent.setVisibility(View.VISIBLE); } } public void onAnimationEnd(Animation animation) { contentImg.setImageResource(R.drawable.close); isMoveORShowing = false; contentLayout.clearAnimation(); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( contentLayout.getLayoutParams()); params.setMargins(0, showheight + endY - startY, 0, 0); contentLayout.setLayoutParams(params); } public void onAnimationRepeat(Animation animation) { } }); contentLayout.startAnimation(mTranslateAnimation); }
相关推荐
可以实现一个View的动态移动 多种设置方法如setFillAfter、重新设置view的位置来达到View中控件的正确移动
详情请见博客:https://blog.csdn.net/qq_20785431/article/details/101199524
本源码主要演示使用Android的TranslateAnimation方法实现点击展开的半圆形PathMenu菜单,原来PATH的菜单效果如此简单。布局 TranslateAnimation就可以搞定了。如视图所示的运行效果,单击在右下角的“ ”图标,会...
布局+TranslateAnimation搞定.zip项目安卓应用源码下Android应用源码之原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip项目安卓应用源码下 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合...
本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,本文将详细介绍通过TranslateAnimation 来定义动画,需要的朋友可以参考下
以前对实现android的PATH菜单挺苦恼,总觉得如何想办法都做不出来自己想要的效果,后来无意中看到了TranslateAnimation的布局方式,于是就试着做了一下,没想到效果比以前的棒,而且用法也挺简单,所以实现的整个...
Android应用源码原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip
Android应用源码之原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip
这个Demo利用TranslateAnimation实现的。 刚开始的时候第一个view占满整个屏幕,当点击第一个view中的一个按钮,整体的view向左移动,从而使第二个view显示出来,使得第一个view占屏幕的20%,第二个view占屏幕的80%...
Android高级应用源码-原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip
android viewpager教您打造炫酷的引导页
布局+TranslateAnimation搞定.zip项目安卓应用源码下载Android 原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司...
适合学习Android的同学和基于毕业生学习和参考,Android studio、idea、eclipse可以运行,建议使用Android studio或者idea
Android 原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip
安卓源码包 Android GPS 开发 地图&导航&定位&指南 45个合集: AMap_Android_API_Demo_V2.0.4(Location_API_V1.0.2).zip Android 4.0下指南针开发源码,可在Nexus 4上完美运行.zip Android GPS 开发client端代码分享....