带水平滚动的自定义视图

时间:2015-12-02 18:53:41

标签: android android-layout android-scrollview android-scrolling

我正在尝试编写一个具有水平滚动功能的自定义视图。我在论坛上经历过很多帖子,但我仍然无法得到我想要的东西。 我想要一个自定义视图,我正在绘制音频录制的音高轮廓。音高轮廓很长,适合屏幕。所以,我想为此添加一个水平滚动。 截至目前,我已经创建了一个扩展HorizontalScrollView的自定义视图。一旦窗口具有焦点,我invalidate()视图并在屏幕上绘制音高轮廓。完成绘图后,我尝试通过调用scrollTo(getRight(), 0)跳到最右边的位置。这不会改变任何东西,轮廓是完全相同的位置。当我尝试使用getRight()打印值时,它会为我提供值1794。我正在使用Nexux 5进行测试。任何人都可以给我任何暗示吗?

PS:轮廓中最后一个值的x像素值为Last value of x for is:5499.3

1 个答案:

答案 0 :(得分:1)

我所犯的错误不是在我的自定义onMeasure()中为View提供实施。如果自定义视图将layout_width提及为wrap_content(如果是HorizontalScrollView),则需要在onMeasure()内设置自定义视图的宽度。同样的一个很好的解释是here。希望这对其他人有帮助。