解决自定义竖着的SeekBar存在的普遍问题

在Android开发中,实现竖直方向的SeekBar时遇到thumb不跟随移动的困扰。通过在onTouchEvent函数内添加onSizeChanged(getWidth(), getHeight(), 0, 0)解决了此问题,确保在ACTION_DOWN, ACTION_MOVE, ACTION_UP和ACTION_CANCEL事件中调用,以实现thumb正确响应拖动。" 114713544,10537658,R语言corrplot调整轴标签大小及位置,"['R语言', '数据分析', '图表绘制']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近需要用到竖着的SeekBar,在网上搜到了很多这方面的文章和程序。但是他们的程序有一个很大的问题,VerticalSeekBar可以拖动了,可惜thumb就是不跟着动,很是郁闷。

   最后终于解决了这个问题,一行代码解决了。就是在onTouchEvent函数里面添加onSizeChanged(getWidth(), getHeight(), 0, 0);就可以了

public boolean onTouchEvent(MotionEvent event) {
  if (!isEnabled()) {
   return false;
  }
  switch (event.getAction()) {
  case MotionEvent.ACTION_DOWN:
   setPressed(true);
   onStartTrackingTouch();
   trackTouchEvent(event);
   onSizeChanged(getWidth(), getHeight(), 0, 0);
   break;

  case MotionEvent.ACTION_MOVE:
   trackTouchEvent(event);
   attemptClaimDrag();
   onSizeChanged(getWidth(), getHeight(), 0, 0);
   break;

  case MotionEvent.ACTION_UP:
   trackTouchEvent(event);
   onStopTrackingTouch();
   setPressed(false);
   onSizeChanged(getWidth(), getHeight(), 0, 0);
   break;

  case MotionEvent.ACTION_CANCEL:
   onStopTrackingTouch();
   setPressed(false);
   onSizeChanged(getWidth(), getHeight(), 0, 0);
   break;
  }
  return true;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值