Android - холст не рисуется после перевода? - PullRequest
0 голосов
/ 04 июня 2018

Я работаю над пользовательским видом, в котором я рисую линии горизонтально одну за другой слева направо.Когда общая ширина всех комбинированных линий пересекает ширину вида, я перевожу вид.После перевода вида вид перемещается влево, но canvas.drawLine останавливает рисование линий, как только я перевожу вид.Любое решение этой проблемы?

       for(someCondition){

        canvas?.drawLine(startX,startY,stopX,stopY,linePaint)

        if(startX > (width)){
            log("Invisible , setting translation to ${-(startX - width)}")
            translationX = -(startX - width)
        }

        log("width is $width and startX is $startX")

       }

, как только я перевожу, холст прекращает рисовать, но перевод продолжает происходить.

1 Ответ

0 голосов
/ 04 июня 2018

Я решил проблему без необходимости что-либо переводить.

Каждый раз, когда общая ширина строк пересекала ширину просмотра, я увеличивал начальный индекс массива, так что я рисовал только n элементов, гдеn - это максимальное количество строк, которые могут поместиться в ширину видов.Это решение также помогло избежать рисования ненужных линий каждый раз, когда в массив добавлялся новый элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...