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()方法处理

 

posted @ 2018-11-07 21:54  予有荣焉  阅读(816)  评论(0编辑  收藏  举报