Индивидуальный вид с горизонтальной прокруткой

Я пытаюсь написать собственный вид с возможностью горизонтальной прокрутки. Я просмотрел много сообщений на форумах, но все еще не могу получить то, что хочу. Мне нужен собственный вид, на котором я строю контур основного тона аудиозаписи. Контур основного тона достаточно длинный, чтобы поместиться на экране. Итак, я хочу добавить горизонтальную прокрутку к этому. На данный момент я создал настраиваемое представление, расширяющее HorizontalScrollView, Как только окно имеет фокус, я invalidate() вид и нарисуйте контур основного тона на экране. После завершения рисования я пытаюсь перейти в крайнее правое положение, вызвав scrollTo(getRight(), 0), Это ничего не меняет и контур точно такой же позиции. Когда я пытаюсь напечатать значение с помощью getRight(), это дает мне ценность 1794, Я использую Nexux 5 для тестирования. Кто-нибудь может дать мне какие-нибудь намеки на это?

PS: значение x пикселя для последнего значения в контуре Last value of x for is:5499.3,

1 ответ

Решение

Ошибка, которую я делал, состояла не в том, чтобы обеспечить реализацию для onMeasure() внутри моего обычая View, Если пользовательский вид имеет layout_width упоминается как wrap_content (в случае HorizontalScrollView), нам нужно установить ширину пользовательского вида внутри onMeasure(), Хорошее объяснение того же здесь. Надеюсь, что это полезно для других людей.

Другие вопросы по тегам