0

我正在嘗試使用水平滾動的功能編寫自定義視圖。我在論壇上經歷了很多帖子,但我仍然無法得到我想要的。 我想要繪製音頻錄製音高輪廓的自定義視圖。音高輪廓很長,以適應屏幕。所以,我想爲此添加一個水平滾動條。 截至目前,我已經創建了一個定製視圖,延伸至HorizontalScrollView。一旦窗口有焦點,我會在屏幕上查看並繪製音高輪廓。完成繪圖後,我嘗試撥打scrollTo(getRight(), 0)跳到最右邊的位置。這不會改變任何東西,輪廓也完全一樣。當我嘗試使用getRight()打印該值時,它給我的值爲1794。我正在使用Nexux 5進行測試。任何人都可以給我任何提示嗎?水平滾動的自定義視圖

PS:輪廓中最後一個值的x像素值爲Last value of x for is:5499.3

回答

1

我在做的錯誤不是爲我的定製View中的onMeasure()提供實現。如果自定義視圖的layout_width被提及爲wrap_content(如果是HorizontalScrollView),我們需要在onMeasure()內設置自定義視圖的寬度。對此的一個很好的解釋是here。希望這對其他人有幫助。