android开发ViewFlipper触摸动画
2010-05-07 00:00:00 来源:WEB开发网正如你可以看到,当用户进行第一次触摸时,设备将会用他的手指的X坐标填补浮点变量(oldTouchValue),那么当用户将他的手指拿开时,我会检查最新的位置,以决定是否在用户是否要到下一个或上一个位置(oldTouchValue currentX)。要改变布局的代码是相同的,但如果用户想要去下一个位置或前一个位置时我会用不同的动画,为了解释这个动画和 AnimationHelper,示例代码如下:
//for the previous movement
public static Animation inFromRightAnimation() {
Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f
);
inFromRight.setDuration(350);
inFromRight.setInterpolator(new AccelerateInterpolator());
return inFromRight;
}
public static Animation outToLeftAnimation() {
Animation outtoLeft = 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
);
outtoLeft.setDuration(350);
outtoLeft.setInterpolator(new AccelerateInterpolator());
return outtoLeft;
}
// for the next movement
public static Animation inFromLeftAnimation() {
Animation inFromLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f
);
inFromLeft.setDuration(350);
inFromLeft.setInterpolator(new AccelerateInterpolator());
return inFromLeft;
}
public static Animation outToRightAnimation() {
Animation outtoRight = 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
);
outtoRight.setDuration(350);
outtoRight.setInterpolator(new AccelerateInterpolator());
return outtoRight;
}
你可以决定把这些方法放在一个静态类中,或在类中进行声明。
结论:
现在你有基类和事件由右至左(show.previous),从左至右(show.next),来捕捉触摸运动。一个简单的代码解释了4个动画运动和一个简单的布局。当有两个以上的布局和更复杂的内容时我会建议做进一步测试。
Tags:android 开发 ViewFlipper
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接