android - 带有水平滚动的自定义 View

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

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

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

最佳答案

我犯的错误是没有在我的自定义 View 中提供 onMeasure() 的实现。如果自定义 View 具有 layout_width 提到的 wrap_content(在 Horizo​​ntalScrollView 的情况下),我们需要在内部设置自定义 View 的宽度onMeasure()。一个很好的解释是 here .希望这对其他人有帮助。

关于android - 带有水平滚动的自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34050720/

相关文章:

编辑器中的 Android 布局奇怪的 TextView 行为

带抽屉导航的 Android 布局

Android:动画循环进度可绘制

android - 如何在不折叠的情况下将 ListView 放入 ScrollView?

java - 使用 onActivityResult 调用函数

android - Parse.com 查询 getFirst() 异常

android - BluetoothSocket.connect() 抛出 IOException

android - 如何在我的 Galaxy S3 Android 设备上的 Chrome 中执行检查元素?

android scrollview垂直滚动条不显示

android - 在android中拖放具有多种布局的自动滚动