我在鳍状肢中几乎没有要制作动画的图像,当按下下一个按钮时,下一个图像应该来自右侧,当前图像应该从左侧出来,同样,如果按下后退,前一个应该来自右侧,当前图像应该出去。我想在动画中左进右出,左进右出,还要记住堆大小,任何机构都有解决方案吗?我用了这段代码
nbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (current_shown_index < list.length - 1) {
current_shown_index++;
bkbtn.setVisibility(View.VISIBLE);
View view = inflater.inflate(R.layout.view_flipper_item, null);
ImageView iv = (ImageView) view.findViewById(R.id.iv_flipper_item);
iv.setImageResource(list[current_shown_index]);
Log.v("count", vFlipper.getChildCount() + "flipper length");
if (vFlipper.getChildCount() == 3) {
vFlipper.removeViewAt(0);
}
vFlipper.addView(view);
vFlipper.setInAnimation(inFromRightAnimation());
vFlipper.setOutAnimation(outToLeftAnimation());
vFlipper.showNext();
}
}
});
bkbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (current_shown_index > 0) {
int diff = 2;
if (vFlipper.getChildCount() == 3 ){
vFlipper.removeViewAt(2);
}
View viewb = inflater.inflate(R.layout.view_flipper_item, null);
ImageView iv = (ImageView) viewb.findViewById(R.id.iv_flipper_item);
if(current_shown_index == 1 ){
diff = 1;
}else{
iv.setImageResource(list[current_shown_index-diff ]);
}
vFlipper.addView(viewb, 0);
current_shown_index--;
}else{
bkbtn.setVisibility(View.GONE);
}
vFlipper.setInAnimation(inFromLeftAnimation());
vFlipper.setOutAnimation(outToRightAnimation());
vFlipper.showPrevious();
}
});