我在鳍状肢中设置的动画很少,当按下下一个按钮时,下一个图像应该来自右侧,当前图像应该从左侧出来,同样如果按下后面应该来自右侧,当前图像应该出去。我想要在左边向外,在动画中向左偏移,记住堆大小,任何身体都有解决方案吗? 我用过这段代码
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();
}
});
答案 0 :(得分:0)
我会给你一个起点指针:
final Animation outToLeft = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);
final Animation inFromRight = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
final Animation outToRight = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_left);
final Animation inFromLeft = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_right);
现在在setInAnimation
中使用setOutAnimation
和ViewFlipper
。
答案 1 :(得分:0)
要在ViewFlipper中实现进出动画,您可以使用setInAnimation()
和setOutAnimation()
方法。
例如:
viewFlipper.setInAnimation(AnimationUtils.loadAnimation(
mContext, android.R.anim.slide_in_right));
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(
mContext, android.R.anim.slide_out_right));
/* Where - mContext is Context object
*/
答案 2 :(得分:0)