java Android翻译动画导致Clicklistener问题
我在安卓中创建的翻译动画在运行动画后出现问题,我设置的任何ClickListener都保留在它们出现异常问题之前的精确坐标中,我已经花了几天时间研究这个问题,还没有找到解决方案,我发现的一些建议包括将我的目标开发级别更改为4.0和更改我的布局。布局(x,x,x,x),这两个都不适合我,关于如何更改此代码以使任何clicklisteners随布局移动,有什么建议吗
upperView = (LinearLayout) findViewById(R.id.upperView);
hiddenMenu = (LinearLayout) findViewById(R.id.hiddenMenu);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Integer width = metrics.widthPixels;
upperView.getLayoutParams().width = width;
hiddenMenu.getLayoutParams().width = (int) (width * 0.75);
int theDistance = hiddenMenu.getLayoutParams().width;
//Run animation
TranslateAnimation anim = new TranslateAnimation(0, theDistance - 0 , 0, 0);
anim.setDuration(1000);
anim.setFillAfter( true );
upperView.startAnimation(anim);
# 1 楼答案
问题是TranslateAnimation不会修改视图的实际位置,只会修改translate视图的绘制位置
试着用PropertyAnimation来做这件事。 它们已经定位为实际查看,而不是仅定位视图的绘制
更新: 试着使用类似
# 2 楼答案
有几件事你需要知道。android或旧版sdk将点击监听器保留在对象的原始位置,重要的是,您可以在新位置为点击创建一个不可见的视图,或者使用新的sdk