【问题标题】:Can thumb of SeekBar be tracked on x and y coordinates?可以在 x 和 y 坐标上跟踪 SeekBar 的拇指吗?
【发布时间】:2012-02-01 06:37:53
【问题描述】:

我正在做一个 android 应用程序,我想拖动图像并将其放置在某个特定位置的 SeekBar 顶部,并且相应地,当 SeekBar 的进度或拇指与图像位置发生冲突时,我想播放一首歌,为此,我想我必须在 x 和 y 坐标上跟踪拇指的位置,这可以实现吗?有没有其他的方法可以绕过?

【问题讨论】:

  • 您使用哪个版本的 sdk 开发?

标签: android android-image android-view android-progressbar


【解决方案1】:
  1. 您应该在有 ACTION_MOVE 事件的 onThouchEvent 中执行操作。
  2. 您可以使用一些有用的方法:getHitRect 可以获取视图的矩形,以便您可以使用Rect.contains(int x,int y) 获取视图是否在指定位置,getLocationOnScreen 可以帮助您获取屏幕中视图的绝对位置,以便您获得的所有点都在同一个坐标系中。

【讨论】:

  • 我使用的 SeekBar 已经播放歌曲,用户无法拖动它的拇指,那我该如何使用 onTouchEvent 呢?
  • 您应该将要拖动的图像放在视图中,然后将视图和搜索栏放在您的自定义布局中,以便您可以覆盖onTouchEvent
  • 我已经可以使用 onTouch 拖动视图,我想检测视图与 SeekBar 拇指的碰撞
  • 当用户开始拖动你的图片时获取你的seekbar的rect,然后在onTouchEvent你可以连续获取ACTION_MOVE案例上图片的指针,然后判断图片的指针是否为包含在搜索栏的矩形中。
  • 我知道,你可以得到歌曲播放时的进度和seekbar的宽度,这样你就可以将进度转换为我认为seekbar坐标中的px,然后将seekbar坐标转换为屏幕坐标。可以判断是否发生碰撞。我认为这可能有效。
猜你喜欢
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
相关资源
最近更新 更多