android 位移动画移动后原地绑定的点击事件还在

今天为一个系统左侧的菜单栏设置了一个点击事件,设置了translateAnimation以后发现,当位移动画结束以后,菜单里边的button的onclick事件还在,不得不感慨这点官方做得实在够脑残,于是自己又加了一个控制view显隐的代码,最后代码是这样的:

    private void startHideAnimation(){
        if (isexpand==true) {
            Animation hideAnimation = new TranslateAnimation(0, -menuLayoutWidth, 0, 0);
            hideAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
            hideAnimation.setDuration(800);
            hideAnimation.setFillAfter(true);
            hideAnimation.setAnimationListener(new AnimationListener() {

                @Override
                public void onAnimationStart(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationRepeat(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    // TODO Auto-generated method stub
                    menuLayout.setVisibility(View.GONE);
                }
            });
            menuLayout.startAnimation(hideAnimation);//直接设置的话,menulayout虽然从视野消失,但是原地点击的效果还在

        }
        isexpand = false;
    }
    private void startShowAnimation(){
        if (isexpand==false) {
            Animation showAnimation = new TranslateAnimation(-menuLayoutWidth, 0, 0, 0);
            showAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
            showAnimation.setDuration(500);
            showAnimation.setFillAfter(true);

            menuLayout.startAnimation(showAnimation);
            menuLayout.setVisibility(View.VISIBLE);
        }
        isexpand = true;
    }
时间: 2024-08-02 14:01:22

android 位移动画移动后原地绑定的点击事件还在的相关文章

Android 使用动画效果后的控件位置处理 类似系统通知栏下拉动画

Android的动画的使用,请参考.Android的动画,在设计方面,我有点不太理解,觉得这样搞很怪,因为在控件动画后,即使设置了停留在动画结束时的位置,我们也确实看到了控件停在那个位置,但其实该控件的真实位置还是在原来动画前的那里.举个例子,如果有个Button,你给它设置了动画,让它移动到其他位置,当移动完成后,你会发现,点击Button没有任何效果,而在Button原来的位置,就是动画前的位置点击,明明没有任何控件,却看到了点击Button的效果.不知道Google为什么要这样设计.解决思

Android开发:ListView控件:给Item绑定了点击事件,却点击无效

一.问题引入 ListView控件:给Item绑定了点击事件,却点击无效. 二.解决方案 ListView使用了自定义布局文件,在布局文件中有button等控件时,这些控件获取焦点的级别比listView的item高,所以当点击item时,button等控件会优先获得点击焦点. 解决方法就是在布局文件根元素中添加属性: android:descendantFocusability="blocksDescendants" android:descendantFocusability De

给一个表单提交绑定一个点击事件

如果给一个表单绑定一个点击事件会发生什么事情 <input type="submit" name="button" value="提交内容" class="btn btn-primary" /> (提交快捷键: $(".btn").click(function(){ window.alert("add"); }) 如上面所示的:会先执行点击事件,然后再进行提交,这样能够进行验

如何使用chrome浏览器进行js调试找出元素绑定的点击事件

大家有没有遇到这样的一个问题,我们在分析一些大型电子商务平台的Web前端脚本时,想找到一个元素绑定的点击事件,并不是那么容易,因为有些前端脚本封装的比较隐蔽,甚至有些加密脚本,用传统的查找元素ID.或者页面源码方法去找,可能最后徒劳无功.下面我来介绍利用chrome浏览器来查找元素绑定的事件. 只需要通过chrome浏览器以下三个功能就可以轻松找到绑定事件了. 1.Sources(源码)2.Event Listener Breakpoints(事件监听断点)3.Call Stack(函数调用栈)

目录树加载并绑定右键点击事件

1 using System.Collections; 2 using System.Drawing; 3 using System.IO; 4 using System.Linq; 5 using System.Windows.Forms; 6 7 namespace menuTreeWITHrightMouseClick 8 { 9 public partial class Form1 : Form 10 { 11 string strRootFolderPath = @"D:\CODE&q

android 位移动画的点击失效问题解决方案

最近,在做一个按钮发散的效果动画,但发现动画执行后,原来按钮的点击事件并不执行,经过查阅资料才发现原来是按钮在动画以后,在点击事件监听的位置还是原来的位置,所以,在执行完动画后,应把控件的位置移动到动画结束的位置,具体代码如下: translateAnimation.setFillEnabled(true);   //解决移动后的闪烁问题      translateAnimation.setAnimationListener(new AnimationListener(){ @Override

基于Android系统应用层与框架层剖析View点击事件

基于Android操作系统的框架层和应用层,介绍了View的绘制.触摸事件的传递流程,分析了View与用户交互时被回调的相关框架层代码和应用层代码,研究了Android应用中事件处理的相关重要机制.通过具体代码详细剖析了在Android系统下用户和View交互过程中折射出的回调机制,回调方法在系统框架的详细执行过程,以及基于回调机制的经典事件处理模型. 1 引言 Android是一种基于Linux的自由及开放源代码的操作系统,目前基于Android平台的应用日趋广泛.Android应用程序大多基

在tap的碎片上与活动进行绑定实现点击事件(日期时间选择以及按钮跳转时间)

主要是掌握怎样在Fragment类型的.java文件中实现对于文本框或者按钮点击事件的触发操作. 相应的出发时间都是之前的代码.主要是怎样在Fragment怎样实现相应的操作主要是对于getActivity().的相关应用. 对于相关的知识点: 1. onCreatView是碎片的生命周期中的一种状态,在为碎片创建视图(加载布局)时调用使用:View view=inflater.inflate(R.layout.right_fragment,container,false);三个参数的含义及作用

Android开发之源码:多次点击事件的原理和实现

多次点击事件 多次点击事件原理:最后一次点击事件与第一次点击事件的时间间隔是否小于某个时间,当小于的时候,就认为这是一个多次点击事件. Android源码实现效果: 1 import android.app.Activity; 2 import android.os.Bundle; 3 import android.os.SystemClock; 4 import android.view.View; 5 6 public class MainActivity extends Activity