我一直在尝试实现以下目标:
1)将轮子设置在5号(或其他任何数字)上
2)滚动滚轮约2秒钟
3)旋转停止后(可以是0到9之间的任意旋转),显示的值是在步骤1中设置的值。
到目前为止我的工作:
在WheelView-> WheelScroller中,我添加了以下方法(并且还添加了对父视图的引用):
public void flingToY(int initialVelocity, final int finalYindex) {
scroller.forceFinished(true);
lastScrollY = 0;
final int maxY = 0x7FFFFFFF;
final int minY = -maxY;
scroller.fling(0, lastScrollY, 0, initialVelocity, 0, 0, minY, maxY);
setNextMessage(MESSAGE_SCROLL);// specific to the view to allow it to scroll
parentView.postDelayed(new Runnable() {
@Override
public void run() {
//scroller.extendDuration(1000);
scroller.setFinalY(finalYindex);
}
}, 1000);
}
最终结果:
在致电setFinalY()
之后,轮子停止转动,并且显示的数字始终为“ 0”
您可以看到我尝试了extendDuration(),它确实扩展了旋转,但是最终结果是相同的;纺车突然停止,并且车轮上显示数字“ 0”。
需要帮助:
如何获取“ WheelView”以旋转数字0 .. 9秒钟,然后减速到预定位置?
答案 0 :(得分:1)
public void setCurrentItem(int index, boolean animated)
获得动画值,WheelView的 true
方法将平滑滚动到给定的项目,然后停止。