Android - 如何在 SeekBar 上标记时间戳
Android - How to mark timestamps on a SeekBar
我将开发一个记录按钮按下的应用程序,我可以在其中在 SeekBar 上回放该会话。每个事件都将根据 Chronometer 的值加上时间戳。回放时,我会在每个记录的事件上播放声音。那部分应该没有问题。
现在,我想弄清楚的是如何通过在每个事件发生的位置绘制红色条来标记 SeekBar 上的时间戳。我希望在播放之前绘制红色条。
由于我还没有启动这个应用程序,所以我现在没有任何代码。
如果我要这样做,我会使用以下程序:
- 在我的 java 代码中获取搜索栏视图的句柄并保存宽度。
- 宽度表示您的时间刻度,从 0 开始到用户停止对视图进行操作时。让我们称之为停止值 T(秒)。
- 录制完成后,根据T将宽度分秒
- 每个时间戳将映射到基于#3 的 x 坐标。以 x 处的搜索栏视图为中心绘制一条红色垂直线。如果你把它画在上面,它可能会搞乱搜索栏交互。
我知道这不是代码,但希望它能让您了解如何解决这个问题。
您不能在搜索栏上标记任何内容。所以不要使用搜索栏。只需使用简单的 Pixels 绘制宽度为 match_parent 和高度为 2dp 的线。把一个小的圆形图像作为搜索栏放在那里。然后在你想标记的地方标记像素。
看概念
.................O................................ ...................................
这是您的搜索栏。动态标记特定点。
我将开发一个记录按钮按下的应用程序,我可以在其中在 SeekBar 上回放该会话。每个事件都将根据 Chronometer 的值加上时间戳。回放时,我会在每个记录的事件上播放声音。那部分应该没有问题。
现在,我想弄清楚的是如何通过在每个事件发生的位置绘制红色条来标记 SeekBar 上的时间戳。我希望在播放之前绘制红色条。
由于我还没有启动这个应用程序,所以我现在没有任何代码。
如果我要这样做,我会使用以下程序:
- 在我的 java 代码中获取搜索栏视图的句柄并保存宽度。
- 宽度表示您的时间刻度,从 0 开始到用户停止对视图进行操作时。让我们称之为停止值 T(秒)。
- 录制完成后,根据T将宽度分秒
- 每个时间戳将映射到基于#3 的 x 坐标。以 x 处的搜索栏视图为中心绘制一条红色垂直线。如果你把它画在上面,它可能会搞乱搜索栏交互。
我知道这不是代码,但希望它能让您了解如何解决这个问题。
您不能在搜索栏上标记任何内容。所以不要使用搜索栏。只需使用简单的 Pixels 绘制宽度为 match_parent 和高度为 2dp 的线。把一个小的圆形图像作为搜索栏放在那里。然后在你想标记的地方标记像素。
看概念
.................O................................ ...................................
这是您的搜索栏。动态标记特定点。