【发布时间】:2015-09-15 17:00:44
【问题描述】:
我正在制作某种益智游戏,其中会有很多由 ImageView(s) 组成的块。现在在这种情况下,我只有 setOnClickListener 到 imageView1,而不是我为每个 ImageView 编写相同的 setOnClickListener 块,如何为所有 ImageView 编写一次 setOnclickListener??
这是示例代码
MainActivity.java
public class MainActivity extends Activity {
ImageView imageView1, imageView2, imageView3;
int x, y;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
x = 0;
y = 0;
imageView1 = (ImageView) findViewById(R.id.image1);
imageView2 = (ImageView) findViewById(R.id.image2);
imageView3 = (ImageView) findViewById(R.id.image3);
imageView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TranslateAnimation animation = new TranslateAnimation(0, 0, 0, 50);
animation.setDuration(1000);
animation.setFillAfter(false);
animation.setAnimationListener(new MyAnimationListener());
imageView1.startAnimation(animation);
x += 0;
y += 50;
}
});
}
private class MyAnimationListener implements Animation.AnimationListener {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imageView1.clearAnimation();
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(imageView1.getWidth(),
imageView1.getHeight());
lp.setMargins(x, y, 0, 0);
imageView1.setLayoutParams(lp);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
}
}
非常欢迎对我的代码提出的所有建议和改进。提前致谢。
【问题讨论】:
标签: java android imageview android-animation android-imageview