我在这里实现了常用的 VerticalSeekBar 帖子。事实上,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
. 显然,它使用相同的代码,所以你会假设相同的行为。即使我的手指滑过 SeekBar 并最终离开屏幕,我也只能取得 0~35 的进度。如果我只是在进度条的末尾附近点击(应该是progress ~ 900
),它会返回大约 35 的进度,黄色进度条通过停留在顶部附近来反映该值。
我的问题是:有没有人有一个工作垂直 SeekBar 的链接,或者知道如何调整这个特定的例子?