查看动画不会改变触摸区域

Jul*_*Jul 5 animation android touch bounds

在TranslateAnimation之后,翻译的视图上的OnClickListener不会被翻译.我尝试在自定义LinearLayout中覆盖getHitRect但没有成功.我也尝试使用touchdelegate和在整个互联网上找到的所有其他建议,但没有成功:)

TranslateAnimation open = new TranslateAnimation(0, displayWidth - ivTimelineWidth, 0, 0);
open.setDuration(1000);   
open.setFillAfter(true);
llMapContent.startAnimation(open);
Run Code Online (Sandbox Code Playgroud)

请帮我 :)

朱利安

tes*_*ter 7

如果我正确理解你的问题,你想在翻译之后点击某些东西并且它没有注册某事物的onTouch.出现此问题的原因是TranslateAnimation实际上并不移动对象,只是移动屏幕上的像素.如果触摸项目所在的区域,您可以调用onTouch.要实际移动对象而不是屏幕上的像素,我建议使用此代码段:

MarginLayoutParams marginParams = new MarginLayoutParams(someobject.getLayoutParams());
marginParams.setMargins(xx, xx, xx, xx);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
someobject.setLayoutParams(layoutParams); 
Run Code Online (Sandbox Code Playgroud)

你应该把它放在onAnimationEndonAnimationStart方法中.希望这可以帮助.