我是新的android开发和现在的问题,不能理解为什么和解决它.对不起,这里是我的想法,希望它有助于理解我的问题:我想为孩子们开发一个应用程序。我有两条汽车道路。在这两条道路上驾驶不同的汽车与一定的数量(0-10)。汽车在动画的帮助下从左向右行驶。提出一个带有数字的问题。孩子要点击某辆带有数字x的汽车。下面我有imageview(imgCarUp1
),并尝试从左到右动画。在动画期间,我想使点击事件对我的图像,并应运行一些代码。
`
imgCarUp1 = findViewById(R.id.imgCarUp_1);
imgCarUp1.setImageResource(vehicleUpStreetList.get(0).getResId());
imgCarUp1.setTag(vehicleUpStreetList.get(0).getResId());
imgNumberUp1.setOnClickListener(view -> {
Log.d(TAG, String.format("setOnClickListener Tag: %s", view.getTag()));
...
});
TranslateAnimation animation = new TranslateAnimation(0, width - 50, 0, 0);
Animation.AnimationListener animL = new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
LogUtils.i(TAG, "onAnimationEnd is stopped!");
}
};
animation.setAnimationListener(animL);
animation.setDuration(15000);
animation.setRepeatCount(5);
animation.setRepeatMode(1);
animation.setFillAfter(true);
imgNumberUp1.startAnimation(animation);
动画效果很好。但是如果我点击imageview(
imgNumberUp1),什么都不起作用。但是如果我点击动画开始的区域,
setOnClickListener`就起作用了。我应该可以在动画过程中点击。我的问题是什么?有人能帮我写代码吗?
谢谢你的帮助。
尝试在互联网上搜索,但没有任何解决方案。
1条答案
按热度按时间fdbelqdn1#
您正在使用**平移动画。**平移动画将视图位置平移到动画位置,实际上不会更改视图的原始位置。
因此,您需要更改X和Y值以更改原始位置,然后在动画当前所在的位置单击手柄
您可以执行. view.animate().X().y().start()
而x和y将具有您希望动画的位置的参数