这个问题让我感到不安,我在表格的一行中有两个图像视图。单击图像时,预期的行为是使用“翻译动画”向右滑动。
我遇到的问题是当我点击第一张图像时它向右移动并形成了空槽,这完全是我想要的,但是当我再次点击这个空白点时,图像重新出现并再次向右移动动画。
问题:我知道视图对象在翻译动画上没有改变,但为什么每当我重新点击它时,位图就会在第一个图像视图上重新出现。我希望这只发生一次,然后位图永远保持第二个视图(在firstview中完全清除)。我怎样才能实现??
我的代码: 公共类TestCode扩展Activity { 动画transitionAnim = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bitmap bMap1 = BitmapFactory.decodeResource(getResources(), R.drawable.g1);
Bitmap bMapScaled1 = Bitmap.createScaledBitmap(bMap1, 50, 60, true);
Bitmap bMap2 = BitmapFactory.decodeResource(getResources(), R.drawable.g2);
Bitmap bMapScaled2 = Bitmap.createScaledBitmap(bMap2, 50, 60, true);
try{
TableLayout tableLayout = (TableLayout) findViewById(R.id.tableview);
tableLayout.setClipChildren(false);
TableRow tableRow = new TableRow(this);
ImageView imageView1 = new ImageView(this);
imageView1.setImageBitmap(bMapScaled1);
imageView1.setPadding(1, 1, 1, 1);
imageView1.setOnClickListener(viewClickListener);
tableRow.addView(imageView1);
ImageView imageView2 = new ImageView(this);
imageView2.setImageBitmap(bMapScaled2);
imageView2.setPadding(1, 1, 1, 1);
imageView2.setOnClickListener(viewClickListener);
tableRow.addView(imageView2);
tableLayout.addView(tableRow);
} catch (Exception e){
e.printStackTrace();
}
}
private OnClickListener viewClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
transitionAnim = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
transitionAnim.setDuration(1000);
transitionAnim.setFillAfter(true);
v.startAnimation(transitionAnim);
}
};
}