Индивидуальный вид с горизонтальной прокруткой
Я пытаюсь написать собственный вид с возможностью горизонтальной прокрутки. Я просмотрел много сообщений на форумах, но все еще не могу получить то, что хочу. Мне нужен собственный вид, на котором я строю контур основного тона аудиозаписи. Контур основного тона достаточно длинный, чтобы поместиться на экране. Итак, я хочу добавить горизонтальную прокрутку к этому. На данный момент я создал настраиваемое представление, расширяющее 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()
, Хорошее объяснение того же здесь. Надеюсь, что это полезно для других людей.