Android开发遇到的坑-----SeekBar在魅族手机上的适配问题
问题描述:
seekbar在点击进度的某个位置时, thumb无法到达指定位置, 只会往前前进一小段, 目前已知在魅蓝5S上会出现, 在此记录
原因:
暂无, 魅族官方和社区没有给出问题原因, 由于项目时间关系, 没有进一步研究
解决办法:
重写OnTouch事件, 在判断为down事件后, 计算该位置, 然后调用setProgress()方法将计算后的进度设置回去
具体计算公式如下:
// 计算结果 = SeekBar最大进度值 * down事件所点击的X坐标 / SeekBar控件宽度
int result = seekBar.getMax() * down.getX() / seekBar.getWidth()
// 然后再设置回去
seekBar.setProgress(result)
可以将上述操作在GestureDetector类的onDown()方法处理