我实现了常见的VerticalSeekBar post 这里。目前SeekBar的操作有些怪异。以下是我稍作修改后的onTouchEvent()代码:
public boolean onTouchEvent(MotionEvent event)
{
xPos = event.getX();
yPos = event.getY();
oOffset = this.getThumbOffset();
oProgress = this.getProgress();
//Code from example - Not working
//this.setThumbOffset( progress * (this.getBottom()-this.getTop()) );
this.setProgress((int)(29*yPos/this.getBottom()));
return true;
}
我已经成功实现了一个VerticalSeekBar,进度更新按预期工作并且完全可用,但是拇指没有跟随。这只是一个图形上的小问题,所以我暂时忽略它。不过,如果能够解决这个问题倒是挺好的。这个SeekBar的max值为20。然而,我尝试着实现另一个max值为1000的VerticalSeekBar。显然,它使用的是同一段代码,因此你会认为它应该有相同的行为。但是,即使我的手指滑动到SeekBar之外并最终离开屏幕,我也只能获得0~35的进度。如果我只是在进度条的末端轻点一下(理应是progress ~ 900),它会返回大约35的进度,并且黄色进度条会保持在靠近顶部的位置反映该值。
我的问题是:有没有人有一个可用的VerticalSeekBar链接,或者知道如何调整这个特定的例子?