Android中利用TranslateAnimation移动时,不设置mTranslateAnimation.setFillAfter(true);,而利用视图的setLayoutParams来重新定位。。。。因为mTranslateAnimation.setFillAfter(true);之后,视图的事件消失,并且还有很多其他的问题。

 

而我们采用Animation.AnimationListener,在onAnimationEnd的方法中改变当前视图利用LayoutParams的setMargins方法重新定位位置。

代码段,仅供参考。

  1. public void move() {
  2. jqkjScroll.setEnabled(true);
  3. Animation mTranslateAnimation = new TranslateAnimation(, , ,
  4. -showheight);// 移动
  5. mTranslateAnimation.setDuration(minute);
  6. // mAnimationSet.setFillAfter(true);
  7. // mTranslateAnimation.setFillAfter(true);
  8. mTranslateAnimation
  9. .setAnimationListener(new Animation.AnimationListener() {
  10. public void onAnimationStart(Animation animation) {
  11. if (isNoMenu == false) {
  12. curent.setVisibility(View.GONE);
  13. }
  14. }
  15. public void onAnimationEnd(Animation animation) {
  16. RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
  17. contentLayout.getLayoutParams());
  18. contentImg.setImageResource(R.drawable.open);
  19. params.setMargins(, endY - startY, , );
  20. contentLayout.clearAnimation();
  21. contentLayout.setLayoutParams(params);
  22. jqkjScroll.scrollTo(, );
  23. isMoveORShowing = false;
  24. }
  25. public void onAnimationRepeat(Animation animation) {
  26. }
  27. });
  28. contentLayout.startAnimation(mTranslateAnimation);
  29. }
  30. public void show() {
  31. jqkjScroll.setEnabled(false);
  32. Animation mTranslateAnimation = new TranslateAnimation(, , ,
  33. showheight);// 移动
  34. mTranslateAnimation.setDuration(minute);
  35. mTranslateAnimation
  36. .setAnimationListener(new Animation.AnimationListener() {
  37. public void onAnimationStart(Animation animation) {
  38. if (isNoMenu == false) {
  39. curent.setVisibility(View.VISIBLE);
  40. }
  41. }
  42. public void onAnimationEnd(Animation animation) {
  43. contentImg.setImageResource(R.drawable.close);
  44. isMoveORShowing = false;
  45. contentLayout.clearAnimation();
  46. RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
  47. contentLayout.getLayoutParams());
  48. params.setMargins(, showheight + endY - startY, , );
  49. contentLayout.setLayoutParams(params);
  50. }
  51. public void onAnimationRepeat(Animation animation) {
  52. }
  53. });
  54. contentLayout.startAnimation(mTranslateAnimation);
  55. }

Android应用TranslateAnimation移动之后,利用视图的setLayoutPara的更多相关文章

  1. [转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法

    一.前言 关于Xposed框架相信大家应该不陌生了,他是Android中Hook技术的一个著名的框架,还有一个框架是CydiaSubstrate,但是这个框架是收费的,而且个人觉得不怎么好用,而Xpo ...

  2. Android应用开发学习之表格视图

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: packag ...

  3. Android View体系(一)视图坐标系

    前言 Android View体系是界面编程的核心,他的重要性不亚于Android四大组件,在这个系列中我会陆续讲到View坐标系.View的滑动.View的事件分发等文章来逐步介绍Android V ...

  4. Android分组子级的不同视图布局之BUG奇遇记

    Android分组子级的不同视图布局之BUG奇遇记 最近在使用按日期分类列表,二级条目可能不一样,于是就想到了ExpandableListView. ExpandableListView的布局显示分割 ...

  5. oracle 创建视图、修改视图、删除视图、利用视图操作基本表

    转:http://blog.sina.com.cn/s/blog_6b58d2fa0100rgvw.html 1.使用create or replace view命令创建视图 语法格式: create ...

  6. Android使用Mono c#分段列表视图

    下载source code - 21.7 KB 你想知道如何把多个ListView控件放到一个布局中,但是让它们在显示时表现正确吗 多个列表项?你对它们正确滚动有问题吗?这个例子将向你展示如何组合单独 ...

  7. Android学习笔记(九) 视图的应用布局效果

    最近少了写博客,可能最近忙吧,工作上忙,因为工作原因也忙于学习,也没记录什么了,也没有按照之前的计划去学习了.现在就记录一下最近学到的. 要做Android应用,界面设计少不了,可惜之前一直在用Win ...

  8. 【Android】9.3 自定义列表视图的外观

    分类:C#.Android.VS2015: 创建日期:2016-02-18 一.简介 自定义的列表视图通常用Resources/Layout文件夹下的axml文件中的资源来声明,适配器则通过Id去加载 ...

  9. android AppWidget的使用以及利用TimerTask实现widget的定时更新

    第一步:首先是Widget的定义声明: 在资源文件下的xml目录中建立文件example_appwidget_info.xml: <?xml version="1.0" en ...

随机推荐

  1. (2)java安装配置

    java 分为三大类 javasSE,javaEE,javaME. javaSE:一般用于开发桌面软件,是java EE的基础类库 javaEE:用于开发网站 javaME:手机软件程序 javaSE ...

  2. 容斥原理 求M以内有多少个跟N是互质的

    开始系统的学习容斥原理!通常我们求1-n中与n互质的数的个数都是用欧拉函数! 但如果n比较大或者是求1-m中与n互质的数的个数等等问题,要想时间效率高的话还是用容斥原理!   本题是求[a,b]中与n ...

  3. Cent OS 运行 Cuberite

    Cuberite 是一个轻量级的Minecraft服务端,由C++编写,性能比Mojang等等用java写的高很多. 在腾讯云的最低端VPS上,用Spigot建服的话,从主世界传送到下界用时要五六秒的 ...

  4. Maven / Nexus 的用法和经验

    Maven / Nexus 的用法和经验

  5. [NEERC2007][SHOI2008]Cactus Reloaded

    题目大意: 给你一个仙人掌,求图中相距最远的点对之间的距离. 思路: Tarjan+DP. 我们先考虑一个树的情况. 设用far[u]表示点u出发到其子树中叶子节点的最大距离,若v为u的子结点,很显然 ...

  6. 1.2(Spring MVC学习笔记) Spring MVC核心类及注解

    一.DispatcherServlet DispatcherServlet在程序中充当着前端控制器的作用,使用时只需在web.xml下配置即可. 配置格式如下: <?xml version=&q ...

  7. 你真的懂ThreadPoolExecutor线程池技术吗?看了源码你会有全新的认识

    Java是一门多线程的语言,基本上生产环境的Java项目都离不开多线程.而线程则是其中最重要的系统资源之一,如果这个资源利用得不好,很容易导致程序低效率,甚至是出问题. 有以下场景,有个电话拨打系统, ...

  8. java基础之:java注解

    一:元注解 元注解的作用就是负责注解其他注解.Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明.Java5.0定义的元注解: 1. ...

  9. centos7.2 kvm虚拟化管理平台WebVirtMgr部署

    在服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM宿主机越来越多,需要对宿主机的状态进行调控,决定采用WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人 ...

  10. pgmagick,pil不保存图片并且获取图片二进制数据记录

    PIL和pgmagick都是python中图像处理的库,只不过PIL功能更强大 pgmagick和PIL中对数据进行调整后经常需要调用write或者save方法保存图片,然后在读取图片的内容,这样很麻 ...