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. (24)python 无线破解

    import pywifi import time wifi = pywifi.PyWiFi() # iface = wifi.interfaces()[0]#获取第一块网卡 #print(iface ...

  2. cvCalcOpticalFlowPyrLK的使用--基于高斯金字塔的稀疏光流特征集求解

    void cvCalcOpticalFlowPyrLK( const CvArr* prev, const CvArr* curr, CvArr* prev_pyr, CvArr* curr_pyr, ...

  3. HDU1385 Minimum Transport Cost (Floyd)

    Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  4. [Codeforces 28D] Do not fear,DravDe is kind

    Brief Intro: 对于四元组(v,c,l,r),求其子序列中v最大的和,并使其满足: 1.Ci+Li+Ri相同 2.L1=0,Rn=0 3.Li=Sigma(C1...Ci-1) Soluti ...

  5. 微服务之SpringCloud实战(四):SpringCloud Eureka源码分析

    Eureka源码解析: 搭建Eureka服务的时候,我们会再SpringBoot启动类加上@EnableEurekaServer的注解,这个注解做了一些什么,我们一起来看. 点进@EnableEure ...

  6. c pvr转存pvr.ccz格式 (转 http://www.cnblogs.com/howeho/p/3586379.html)

    pvr.ccz 是把pvr用zlib算法压缩后的图像格式,其优点是可以提升文件读取效率. 大多数情况下我们可以用一些工具来将pvr压缩到pvr.ccz ,下面提供一个c++方法来完成这个过程 int ...

  7. 十. 图形界面(GUI)设计8.选择框和单选按钮

    选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...

  8. NSNotificationCenter监听TextField文字变化

    注册 1: NSNotificationCenter.defaultCenter().addObserver(self, selector: "textDidChange", na ...

  9. [干货]2017已来,最全面试总结——这些Android面试题你一定需要

        地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...

  10. Node.js 调用 restful webservice

    如何构建一个restful web service参考原来的文章 http://www.cnblogs.com/ericnie/p/5212748.html 直接用原来的项目编译好像有问题,此处耗费1 ...