关于SeekBar拖动时有一个跟着动的TextView

最近开发有做到关于SeekBar的,UI在跟我谈论时建议我SeekBar拖动时最好TextView跟着SeekBar的进度动。当时在网上查阅资料,只找到一个,不过看他代码比较复杂,还需要自定义View,而我是一个比较懒的人,做事也喜欢偷懒,所幸让我找到了偷懒的方法。

代码很简单,因为是工作的项目代码,所以只贴出一部分,如果各位看官有什么疑问或者指导,请在评论区指出,非常感谢。

private SeekBar.OnSeekBarChangeListener MyDistanceListener = new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {


}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {

}

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tv_seekbar_distance.setText(progress);
int position = seekBar_distance.getProgress(); //seekbar当前进度
float x = seekBar.getWidth();//seekbar的当前位置
float seekbarWidth = seekBar_distance.getX() ; //seekbar的宽度
float width = (position*x)/100+seekbarWidth; //seekbar当前位置的宽度
tv_seekbar_distance.setX(width);
}
};


 

不会做gif图- -,请各位将就着看一下吧

如果要做竖的seekbar也是同理,我就只贴核心代码了

int position = Math.abs(seekBar_height.getProgress()-100); //用当前进度减100取绝对值
float y = seekBar_height.getHeight();
float seekbarHeight = seekBar_height.getY();
float height = (position*y)/100+seekbarHeight;
tv_seekbar_height.setY(height);

需要注意的一点就是竖的seekbar从下往上滑对应的进度是100-0,所以position是当前进度减100再取绝对值。

好啦,我的第一篇博客就这样了,总觉得我的表达能力很有问题,望各位看官谅解一下。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值