У меня есть пользовательское listview и сделано очень простое перекрытие: в методе onDraw
я устанавливаю строку z по оси около 200 и переопределяю getChildDrawingOrder (int childCount, int i)
. Результат выглядит так:
Конечно, есть больше переходов, чтобы выглядеть так, но они не связаны с этим вопросом.
Но, как вы видите, примерно на секунду верхняя строка (я имею в виду по оси z, которая является белой) выглядит багги. Есть imageViews
с двумя доступными состояниями (белый, когда строка находится в центре и синяя, когда внешний центр) по координатам. Изменяйте чертежи программно, задавая фоновые рисунки. Кажется, что ошибка показывает, когда происходит переход от одного к другому: перерисовка нижней части происходит позже основного фрагмента строки. Мне нужно сделать обе части для изменения чертежей одновременно, поэтому таких ошибок не будет. Это ошибка Android или я могу ее решить?
Кто-нибудь знает, почему это может произойти?
Я использовал предложение nininho для применения requestLayout() во rotected boolean drawChild(Canvas canvas, final View child, long drawingTime) {}
end, и он работает.
PS поставил его там, где он вам действительно нужен, я ставлю его, где идет только переход, потому что этот метод ест много ресурсов, а он перекрашивает целого ребенка.
андроид: cacheColorHint = "# 00000000"
в вашем списке. Попробуйте.
С уважением,
Fabian