怎么ViewFlipper的showPrevious与showNext的动画都是从右方推进,能不能修改?
ViewFlipper的showNext方法是从右边推进下一张图片替换当前图片,showPrevious显示上一张图片,但是动画效果也是从右边推进。正确的动画应该是回退,...
ViewFlipper的showNext方法是从右边推进下一张图片替换当前图片,showPrevious显示上一张图片,但是动画效果也是从右边推进。正确的动画应该是回退,也就是从左边推进前一张图片。这个东西知道能不能设置,求解?
展开
展开全部
可以自定义添加图片的进入方式,类似这样的代码
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
//点击屏幕,MotionEvent.ACTION_DOWN 为手指点击屏幕事件
if(event.getAction() == MotionEvent.ACTION_DOWN) {
//获取手指开始触点横坐标
startX = event.getX();
//手指抬起,结束滑屏
} else if(event.getAction() == MotionEvent.ACTION_UP) {
//获取手指抬起,结束点横坐标
float endX = event.getX();
//结束点横坐标大于起始点横坐标,说明手指是向右滑动
if(endX - startX>3) {
if(viewFlipper.getDisplayedChild()==0){}
else{
//控件进入动画效果
viewFlipper.setInAnimation(enter_lefttoright);
//控件退出动画效果
viewFlipper.setOutAnimation(exit_lefttoright);
//显示下一页
viewFlipper.showNext();
}
//结束点横坐标小于起始点横坐标,说明手指是向左滑动
} else if (startX - endX >3 ) {
if(viewFlipper.getDisplayedChild()==1){}
else{
viewFlipper.setInAnimation(enter_righttoleft);
viewFlipper.setOutAnimation(exit_righttoleft);
//显示前一页
viewFlipper.showPrevious();
}
}
return true;
}
return super.onTouchEvent(event);
}
追问
我也想到了,就是每次鼠标位置改变都要重新设置动画效果,感觉不是很优雅。不知道官方提供的默认效果为什么是那样的,却置之不顾。View Pager是比较灵活,但却不支持循环拖动。目前没有找到一个完美的控件。你的方式也算解决了问题把,我就采纳了,谢谢你的热心回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询